mapGet

mapGet

> 機能

キー key に関連付けられた map テーブルの値を返します。キーがテーブルに存在しない場合は default を返します。

#### 設定

#### フィードバック

TypeScript

JavaScript では連想表は Map です。m.get(key) はキーが存在しないとき undefined を返します。LeekScript の mapGet は null を返すので、=== undefined か m.has(key) で判定してください。Map に対して m[key] と書いてはいけません。それはオブジェクトに通常のプロパティを置くだけで、get にも has にも size にも見えません。最後に、Map はオブジェクトのキーを同一性で比較します。内容が同じ 2 つのオブジェクトは別々のキーになります。

Python

Python では連想表は dict です。m[key] はキーが存在しないとき、LeekScript の mapGet のように null を返すのではなく KeyError を送出します。None を返す m.get(key)、あるいは代替値を返す m.get(key, defaut) と書いてください。key in m は何も送出せずに存在を判定します。なお dict のキーはハッシュ可能でなければなりません。数値・文字列・タプルは使えますが、リストは TypeError を送出します。