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

If クラス

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

このページを読み進める前に以下のページを確認しておくと役に立つかもしれません(apyscでは基本的なデータクラスと同様の理由でIfクラスを使用しています):

If クラスの概要

Ifクラスはapyscの分岐制御のためのクラスです。このクラスはPythonビルトインのifキーワードと似たような形で動作します。

基本的な使い方

Ifクラスは以下のコード例のようにwithステートメントと共に使用する必要があります:

import apysc as ap

ap.Stage()
condition: ap.Boolean = ap.Boolean(True)
with ap.If(condition):
    ...

Ifクラスのコンストラクタの引数には条件としてのBooleanの値の指定が必要になります。

関連資料

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

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

[インターフェイスの構造] __init__(self, condition: Union[apysc._type.boolean.Boolean, NoneType], *, locals_: Union[Dict[str, Any], NoneType] = None, globals_: Union[Dict[str, Any], NoneType] = None) -> None


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

if文の分岐制御の表現を追加するためのクラス。


[引数]

  • condition: Boolean or None

    • 判定に使われるBooleanの真偽値。

  • locals_: dict or None, default None

    • 現在のスコープの各ローカル変数。指定する場合にはlocals()関数の値をごの引数に指定してください。もし指定された場合、このインターフェイスはIfのスコープの終了時に対象のVariableNameMixInクラスの各ローカル変数のインスタンスの値をスコープの開始前の時点に復元します。この設定はIfのスコープ内の処理でPython上の各ローカル変数の値を更新したくない場合などに便利なことがあります。

  • globals_: dict or None, default None

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


[コードサンプル]

>>> import apysc as ap
>>> int_val: ap.Int = ap.Int(10)
>>> condition: ap.Boolean = int_val >= 10
>>> with ap.If(condition):
...     ap.trace("Int value is greater than equal 10!")
...

[関連資料]