Menu
CoddyTech

文字列のフォーマット

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はその行の実行時に書式設定エラーを報告します。

challenge icon

チャレンジ

簡単

ショップでポーションを販売しています。プログラムではアイテム名、価格、購入数量を保存します。%演算子を使った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
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: GDScriptオンラインコンパイラ