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