※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。
String クラスの加算と乗算の各オペレーション¶
このページではStringクラスの加算と乗算のオペレーションについて説明します。
加算¶
Stringクラスの加算のオペレーション(+)は連結されたString型の値を返却します。
import apysc as ap
ap.Stage()
string_1: ap.String = ap.String("Hello")
string_2: ap.String = string_1 + " World!"
assert string_2 == "Hello World!"
assert isinstance(string_2, ap.String)
また、+=のオペレーターもサポートしています:
import apysc as ap
ap.Stage()
string_1: ap.String = ap.String("Hello")
string_1 += " World!"
assert string_1 == "Hello World!"
Stringの値とPythonのビルトインのstrの値によるオペレーションもサポートしています。Stringの値同士のオペレーションも同様です。
import apysc as ap
ap.Stage()
string_1: ap.String = ap.String("Hello")
string_2: ap.String = ap.String(" World!")
string_3: ap.String = string_1 + string_2
assert string_3 == "Hello World!"
一方でstrの値とStringの値の場合(左側をstrの値にする場合)はサポートしていません。例えば以下のコード例ではエラーとなります:
import apysc as ap
ap.Stage()
string_1: ap.String = ap.String(" World!")
string_2: ap.String = "Hello" + string_1
TypeError: must be str, not String
乗算¶
Stringクラスの乗算のオペレーション(*)はPythonビルトインの文字列のように値を繰り返した文字列を返却します。
import apysc as ap
ap.Stage()
string_1: ap.String = ap.String("Hello")
string_2: ap.String = string_1 * 3
assert string_2 == "HelloHelloHello"
intもしくはInt型の値を右側の値として受け付けることができます:
import apysc as ap
ap.Stage()
string_1: ap.String = ap.String("Hello")
int_1: ap.Int = ap.Int(3)
string_2: ap.String = string_1 * int_1
assert string_2 == "HelloHelloHello"