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

assert_defined と assert_undefined のインターフェイス

このページではassert_definedassert_undefinedの関数の各インターフェイスについて説明します。

各インターフェイスの概要

assert_defined関数のインターフェイスは指定された値が定義済みかどうか(初期化されているか)をチェックします。逆にassert_undefined関数は指定された値が定義されていない(undefine)状態や削除済みかどうかなどをチェックします。

関連資料

基本的な使い方

assert_definedassert_undefinedの各インターフェイスは共にvalue引数が必要になります。msg引数は省略可です。

以下のコード例では初期化されている値に対してassert_defined関数でチェックを行っています(チェックを通ります):

import apysc as ap

stage: ap.Stage = ap.Stage(
    stage_width=0,
    stage_height=0,
    background_color=ap.Color("#333"),
    stage_elem_id="stage",
)

int_val: ap.Int = ap.Int(10)
ap.assert_defined(value=int_val, msg="Value is not defined!")

ap.save_overall_html(dest_dir_path="assert_defined_basic_usage_1/")
[assert_defined]
Right-side variable name: i_11
Left value: other than undefined right value: 10

以下のコード例では削除の済みの値に対してassert_defined関数でチェックをしています(チェックは失敗します):

import apysc as ap

stage: ap.Stage = ap.Stage(
    stage_width=0,
    stage_height=0,
    background_color=ap.Color("#333"),
    stage_elem_id="stage",
)

int_val: ap.Int = ap.Int(10)
ap.append_js_expression(expression=f"{int_val.variable_name} = undefined;")
ap.assert_defined(value=int_val, msg="Value is not defined!")

ap.save_overall_html(dest_dir_path="assert_defined_basic_usage_2/")
[assert_defined]
Right-side variable name: i_11
Left value: other than undefined right value: undefined
...
Assertion failed: Value is not defined!

以下のコード例では削除済みの値に対してassert_undefined関数でチェックを行っています(チェックは通ります):

import apysc as ap

stage: ap.Stage = ap.Stage(
    stage_width=0,
    stage_height=0,
    background_color=ap.Color("#333"),
    stage_elem_id="stage",
)

int_val: ap.Int = ap.Int(10)
ap.append_js_expression(expression=f"{int_val.variable_name} = undefined;")
ap.assert_undefined(value=int_val, msg="Value is defined!")

ap.save_overall_html(dest_dir_path="assert_undefined_basic_usage_1/")
[assert_undefined]
Right-side variable name: i_11
Left value: undefined right value: undefined

assert_defined API

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

[インターフェイスの構造] assert_defined(value: Any, *, msg: str = '') -> None


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

定義済みの値かどうかの条件のためのJavaScript上のアサーションのインターフェイスです。


[引数]

  • value: *

    • チェック対象の値。

  • msg: str, optional

    • チェックに失敗した際に表示するメッセージ。


[コードサンプル]

>>> import apysc as ap
>>> int_val: ap.Int = ap.Int(10)
>>> ap.assert_defined(int_val)

assert_undefined API

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

[インターフェイスの構造] assert_undefined(value: Any, *, msg: str = '') -> None


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

未定義の値かどうかの条件のためのJavaScript上のアサーションのインターフェイスです。


[引数]

  • value: *

    • チェック対象の値。

  • msg: str, optional

    • チェックに失敗した際に表示するメッセージ。


[コードサンプル]

>>> import apysc as ap
>>> int_val: ap.Int = ap.Int(10)
>>> ap.append_js_expression(expression=f"{int_val.variable_name} = undefined;")
>>> ap.assert_undefined(int_val)