Python.use(better, VDM++) #__add__ -- override
‖記事一覧‖
__add__ -- override
《著》小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2000/04/03 ● 第1版♪2003/05/23 ● 第2版♪2006/10/01 ● 第3版♪2009/10/07
事例:モジュールを起動する
■ 全項目を確認する
全ステップの「項目」を確認するには、関数 do を利用します。
$ python -i VDM.py >>> do() @: tips_override -- def __add__(m1,m2): ... >>>
>>> help(VDM_map.__add__) ... __add__(m1, m2) m1 ++ m2 ; map A to B * map A to B -> map A to B ; ; Override ; overrides and merges m1 with m2, i.e. it is like a ; merge except that m1 and m2 need not be compat- ; ible; any common elements are mapped as by m2 ; (so m2 overrides m1).
■ 各項目を実行する
各ステップの「動作」を確認するには、関数 do に実引数を指定します。
>>> do(@) >>> # -------------------------------------------------- override >>> m1 = VDM_map({"A":1,"B":2}); m1 {'A' |-> 1, 'B' |-> 2} >>> m2 = VDM_map({"A":1,"C":3}); m2 {'A' |-> 1, 'C' |-> 3} >>> m1 + m2 {'A' |-> 1, 'C' |-> 3, 'B' |-> 2} >>> >>> m1 = VDM_map({"A":1,"B":2}); m1 {'A' |-> 1, 'B' |-> 2} >>> m2 = VDM_map({"A":0,"C":3}); m2 {'A' |-> 0, 'C' |-> 3} >>> m1 + m2 {'A' |-> 0, 'C' |-> 3, 'B' |-> 2}
上書きした写像が得られます。
事例:コードの解説
》こちらに移動中です《
VDM/map
Operator | Name | Type |
---|---|---|
dom m | Domain | (map A to B ) → set of A |
rng m | Range | (map A to B ) → set of B |
m1 munion m2 | Merge | (map A to B ) ∗ (map A to B ) → map A to B |
m1 ++ m2 | Override | (map A to B ) ∗ (map A to B ) → map A to B |
merge ms | Distributed | merge set of (map A to B ) → map A to B |
s | Domain restrict to | (set of A) ∗ (map A to B ) → map A to B |
s <-: m | Domain restrict by | (set of A) ∗ (map A to B ) → map A to B |
m :> s | Range restrict to | (map A to B ) ∗ (set of B ) → map A to B |
m :-> s | Range restrict by | (map A to B ) ∗ (set of B ) → map A to B |
m(d) | Map apply | (map A to B ) ∗ A → B |
m1 comp m2 | Map composition | (map B to C ) ∗ (map A to B ) → map A to C |
m ** n | Map iteration | (map A to A) ∗ nat → map A to A |
m1 = m2 | Equality | (map A to B ) ∗ (map A to B ) → bool |
m1 <> m2 | Inequality | (map A to B ) ∗ (map A to B ) → bool |
inverse m | Map inverse | inmap A to B → inmap B to A |
- Note that the types A, set of A and set of set of A are only meant to illustrate
↑TOP