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

ForDictKeysAndValues クラス

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

事前に以下のページを読んでおくと役立つかもしれません(apyscライブラリではこのクラスを各データ型と同じように扱っています)。

クラス概要

ForDictKeysAndValuesクラスはfor文のループのためのクラスです。

このインターフェイスはループの中でDictionaryのキーと値を返却します。

基本的な使い方

このクラスはwithステートメントと共に使う必要があります。

asキーワード部分の値はDictionaryのキーと値になります。

また、このクラスはDictionaryのキーと値の型を指定するためのdict_key_typedict_value_type引数の指定を必要とします。

dict_key_typeStringIntNumberBooleanなどのハッシュ化可能なapyscの型のみを受け付けます。

同様にdict_value_type引数はStringIntRectangleなどのapyscの型を受け付けます。

import apysc as ap

ap.Stage(
    background_color=ap.Color("#333"),
    stage_width=250,
    stage_height=300,
)

dict_: ap.Dictionary[ap.Number, ap.Number] = ap.Dictionary(
    {
        ap.Number(50): ap.Number(50),
        ap.Number(100): ap.Number(125),
        ap.Number(150): ap.Number(200),
    }
)
with ap.ForDictKeysAndValues(
    dict_=dict_,
    dict_key_type=ap.Number,
    dict_value_type=ap.Number,
) as (key, value):
    ap.Rectangle(
        x=key,
        y=value,
        width=50,
        height=50,
        fill_color=ap.Color("#0af"),
    )

ap.save_overall_html(dest_dir_path="for_dict_keys_and_values_basic_usage_1/")

関連資料

ForDictKeysAndValues API

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

[インターフェイスの構造] __init__(self, dict_: apysc._type.dictionary.Dictionary[~_DictKey, ~_DictValue], dict_key_type: Type[~_DictKey], dict_value_type: Type[~_DictValue], *, locals_: Union[Dict[str, Any], NoneType] = None, globals_: Union[Dict[str, Any], NoneType] = None, variable_name_suffix: str = '') -> None


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

ap.Dictionaryのキーと値のためのループのクラスの実装です。


[引数]

  • dict_: Dictionary[_DictKey, _DictValue]

    • イテレーションで扱うための辞書。

  • dict_key_type: Type[_DictKey]

    • 辞書のキーの型。このインターフェイスはStringIntNumberBooleanといったハッシュ化可能な型を受け付けます。

  • dict_value_type: Type[_DictValue]

    • 辞書の値の型。ごのインターフェイスはIntStringRectangleなどのInitializeWithBaseValueInterfaceのサブクラスの型のみ受け付けます。

  • locals_: Optional[Dict[str, Any]], optional

    • 現在のスコープの各ローカル変数。この引数にはlocals()関数の返却値を設定してください。もしこの引数が指定された場合、このインターフェイスはローカルスコープのVariableNameMixInの各変数(例 : IntやSpriteなど)の値をwithステートメントの最後で復元します。この設定は各変数を更新したくない場合等に役立ちます。

  • globals_: Optional[Dict[str, Any]], optional

    • 現在のスコープの各グローバル変数。設定する場合にはglobal()関数の値をこの引数に指定してください。この設定はlocals_引数と同じように動作します。

  • variable_name_suffix: str, optional

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


[コードサンプル]

>>> import apysc as ap
>>> _ = ap.Stage(
...     background_color=ap.Color("#333"), stage_width=250, stage_height=300
... )
>>> dict_: ap.Dictionary[ap.Number, ap.Number] = ap.Dictionary(
...     {
...         ap.Number(50): ap.Number(50),
...         ap.Number(100): ap.Number(125),
...         ap.Number(150): ap.Number(200),
...     }
... )
>>> with ap.ForDictKeysAndValues(
...     dict_=dict_,
...     dict_key_type=ap.Number,
...     dict_value_type=ap.Number,
... ) as (key, value):
...     _ = ap.Rectangle(
...         x=key, y=value, width=50, height=50, fill_color=ap.Color("#0af")
...     )