※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。

Dictionary クラス

このページではDictionaryクラスについて説明します。

事前に以下のページを確認しておくと読み進める上で役に立つかもしれません:

Dictionaryクラスの概要

Dictionaryクラスはapyscの辞書用のクラスです。ごのクラスはPythonビルトインのdictの値のように動作します。

コンストラクタメソッド

DictionaryのコンストラクタではPythonビルトインのdictもしくはapyscのDictionaryの値を必要とします:

import apysc as ap

ap.Stage()
dict_1: ap.Dictionary = ap.Dictionary({"a": 10})
assert dict_1 == {"a": 10}

dict_2: ap.Dictionary = ap.Dictionary(dict_1)
assert dict_1 == dict_2

値のsetterのインターフェイス

Dictionaryの値はPythonのビルトインのdictの値と同じようにインデックスを使って更新することができます:

import apysc as ap

ap.Stage()
dict_1: ap.Dictionary = ap.Dictionary({"a": 10})
dict_1["a"] = 20
assert dict_1 == {"a": 20}

値のgetterのインターフェイス

Dictionaryの値の取得も同様にインデックスを使って行うことができます:

import apysc as ap

ap.Stage()
int_1: ap.Int = ap.Int(10)
dict_1: ap.Dictionary = ap.Dictionary({"a": int_1})
int_2: ap.Int = dict_1["a"]
assert isinstance(int_2, ap.Int)
assert int_2 == 10

getterのインターフェイスの特記事項

もしもDictionaryの値が指定されたキーを持たない場合、取り出される値はAnyValue型の値となります。この挙動はJavaScript上でのハンドラでの動的な更新処理などを使う際に便利な時があります。

import apysc as ap

ap.Stage()
int_1: ap.Int = ap.Int(10)
dict_1: ap.Dictionary = ap.Dictionary({"a": int_1})
retrieved_val: ap.AnyValue = dict_1["b"]
assert isinstance(retrieved_val, ap.AnyValue)

値の削除のインターフェイス

Dictionaryの値は以下のコード例のようにdelステートメントで削除することができます。

import apysc as ap

ap.Stage()
int_1: ap.Int = ap.Int(10)
dict_1: ap.Dictionary = ap.Dictionary({"a": int_1})
del dict_1["a"]
assert dict_1 == {}

Dictionary クラスのコンストラクタのAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイスの構造] __init__(self, value: Union[Dict[~_Key, ~_Value], ForwardRef('Dictionary')], *, variable_name_suffix: str = '', skip_init_substitution_expression_appending: bool = False) -> None


[インターフェイス概要]

apyscライブラリのための辞書のクラスです。


[引数]

  • value: dict or Dictionary

    • 辞書の初期値。

  • variable_name_suffix: str, default “”

    • JavaScript上の変数のサフィックスの設定です。この設定はJavaScriptのデバッグ時に役立つことがあります。

  • skip_init_substitution_expression_appending: bool, default False

    • 初期値の代入のコード表現をスキップするかどうかの真偽値です。このオプションはクラス内部の実装で使用されます。


[コードサンプル]

>>> import apysc as ap
>>> _ = ap.Stage()
>>> dictionary: ap.Dictionary = ap.Dictionary({"a": 10})
>>> dictionary
Dictionary({'a': 10})

>>> dictionary["a"]
10

>>> dictionary["b"] = 20
>>> dictionary["b"]
20

[関連資料]

value 属性のAPI

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイス概要]

現在の辞書の値を取得します。


[返却値]

  • value: dict

    • 現在の辞書の値。


[コードサンプル]

>>> import apysc as ap
>>> _ = ap.Stage()
>>> dictionary: ap.Dictionary = ap.Dictionary({})
>>> dictionary.value = {"a": 10}
>>> dictionary.value
{'a': 10}

[関連資料]