Python.use(better)《余録》VDM_map.domTo
‖記事一覧‖
Python.use(better)
《余録》VDM_map.domTo
《著》小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28
課題:VDM_map.inverse
VDM++/map で規定された <: 演算〔Domain restricted to〕に準拠したものを実現します。
>>> # -------------------------------------------------- domTo >>> m = VDM_map({e:ord(e) for e in "ABC"}); m {'A' |-> 65, 'B' |-> 66, 'C' |-> 67} >>> m.domTo("CD") {'C' |-> 67} >>> m.domTo("") {} >>> m.domTo("C") {'C' |-> 67} >>> m.domTo("D") {} >>>
《Note》VDM++ では、次のような演算が規定されています。
s <: m Domain restricted to creates the map consisting of the elements in m whose key is in s. s need not be a subset of dom m. (set of A) ∗ (map A to B) → map A to B
。□
課題:テストケース
def ex_domTo(spec, local): X = 'm = VDM_map({e:ord(e) for e in "ABC"}); m' print_(X, local) for e in "CD","","C","D": try: X = 'm.domTo({0!r})'.format(e) print_(X, local) except AssertionError as error: print(error)