※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。
Else クラス¶
このページではElse
クラスについて説明します。
このページを読み進める前に以下のページを確認しておくと役に立つかもしれません(apyscではElse
クラスを以下のデータ型のケースと同じ理由で使用しています):
Else クラスの概要¶
Else
クラスはapyscの条件分岐の指定用のクラスです。このクラスはPythonビルトインのelse
キーワードと同じように動作します。
基本的な使い方¶
Else
クラスはwith
ステートメントとセットで使用する必要があります。Else
クラスのステートメントはIf
もしくはElif
クラスのステートメントの直後でのみ使用することができます。
import apysc as ap
ap.Stage()
condition: ap.Boolean = ap.Boolean(False)
int_1: ap.Int = ap.Int(10)
with ap.If(condition):
int_1 += 10
with ap.Else():
int_1 += 20
特記事項¶
もしもIf
もしくはElif
クラスとElse
クラスのステートメントの間にコードを挿入するとエラーとなります:
import apysc as ap
ap.Stage()
condition: ap.Boolean = ap.Boolean(False)
int_1: ap.Int = ap.Int(10)
with ap.If(condition):
int_1 += 10
# If there is a code implementation between the `If` and `Else`, then
# exceptions will be raised.
int_2: ap.Int = ap.Int(20)
with ap.Else():
int_1 += 20
ValueError: Else interface can only use right after If or Elif interfaces.
関連資料¶
Else クラスのコンストラクタのAPI¶
特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。
[インターフェイスの構造] __init__(self, *, locals_: Union[Dict[str, Any], NoneType] = None, globals_: Union[Dict[str, Any], NoneType] = None) -> None
[インターフェイス概要]
elseの分岐条件の表現を追加するためのクラスです。
[引数]
locals_
: dict or None, default None現在のスコープの各ローカル変数の値。利用する場合にはlocals()関数をこの引数へ指定してください。もし設定された場合には
Else
のスコープの最後にVariableNameMixInクラスを継承したクラスの各変数(例 : Spriteなど)の設定は復元されます。この設定はElse
クラスのスコープ内で変数を更新したくない場合などに便利なことがあります。
globals_
: dict or None, default None現在のスコープの各グローバル変数。設定する場合にはglobal()関数の値をこの引数に指定してください。この設定はlocals_引数と同じように動作します。
[特記事項]
・このクラスはIf
もしくはElif
クラスのステートメントの直後にのみ使用することができます。
[コードサンプル]
>>> import apysc as ap
>>> int_val: ap.Int = ap.Int(10)
>>> with ap.If(int_val >= 11):
... ap.trace("Value is greater than equal 11.")
...
>>> with ap.Else():
... ap.trace("Value is less than 11.")
...
[関連資料]