※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合は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.")
...

[関連資料]