文字列のフォーマット
CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 33/92。
多くの値を+とstr()でつなげると、行が長くなります。フォーマット文字列を使うと読みやすくなります。テキストを一度だけ書き、各値を入れる場所にプレースホルダーを置き、%演算子の後に値を指定します。
var player_name := "Ada"
var age := 12
print("%s is %d years old" % [player_name, age])これは Ada is 12 years old と出力します。値はプレースホルダーと同じ順序で角括弧の中に入れます。値が1つの場合は、角括弧を省略できます。"HP: %d" % 80 は HP: 80 となります。
最もよく使うプレースホルダー:
%sは任意の値をテキストとして挿入します%dは整数を挿入します%.2fは小数を小数点以下2桁に丸めて挿入します
たとえば、var price := 2.5の場合:
print("Price: %.2f" % price)
print("Price: %s" % price)1行目はPrice: 2.50を出力し、2行目はPrice: 2.5を出力します。
フォーマット文字列でパーセント記号を表示するには、%%と書きます: "%d%%" % 50は50%です。
値の数はプレースホルダーの数と一致していなければなりません。値が不足している場合、GDScriptはその行の実行時に書式設定エラーを報告します。
チャレンジ
簡単ショップでポーションを販売しています。プログラムではアイテム名、価格、購入数量を保存します。%演算子を使った1つのフォーマット文字列で、レシートの明細行を出力してください:
Item: Health Potion x3, total: $7.50合計はprice * quantityで、 小数点以下2桁で表示します。%の後に角括弧で値を指定してください。
自分で試してみよう
extends Node
func _ready():
var item_name := "Health Potion"
var price := 2.5
var quantity := 3
# フォーマット文字列を使ってレシートの1行を出力する
pass
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ