文字列メソッド
CoddyのGDScriptジャーニー「ロジックとフロー」セクションの一部。レッスン 1/78。
文字列メソッドとして、すでに length()、to_upper()、to_lower() の3つを知っています。文字列には、ほかにも多くのメソッドがあります。どのメソッドも呼び出し元の文字列を変更しません。それぞれ新しい文字列を返すので、結果を出力するか、保存してください。
var title := "game"
title.to_upper()
print(title)
title = title.to_upper()
print(title)game
GAMEcapitalize() は、各単語の最初の文字を大文字にし、残りを小文字にします。また、アンダースコアをスペースに変換するため、変数風の名前をラベルに変えることができます。
print("the legend of zelda".capitalize())
print("max_hp".capitalize())The Legend Of Zelda
Max Hpreverse()は文字を逆順に返し、left(n)は最初のn文字を、right(n)は最後のn文字を返します:
var hero := "Godot"
print(hero.reverse())
print(hero.left(3))
print(hero.right(2))todoG
God
otパディングメソッドは、文字列が指定された長さになるまで文字を追加します。pad_zeros(n)はテキストとして書かれた数値の前にゼロを追加し、lpad(n, c)は左側に文字cを追加し、rpad(n, c)は右側に追加します(cを省略するとスペースが使われます)。
print("42".pad_zeros(5))
print("7".lpad(3, "*"))
print("Ana".rpad(6, ".") + "10")00042
**7
Ana...10文字列に文字がまったく含まれていない場合、is_empty()はtrueを返します。"".is_empty()はtrueです。
チャレンジ
簡単プログラムは、shadow_foxのように単語の間にアンダースコアを入れた小文字のプレイヤー名とスコアを読み込みます。どちらもすでに文字列としてplayer_nameとscoreに格納されています。
次の4行を出力します。
capitalize()を使った名前- 逆順にした名前
- 名前の最初の3文字を大文字にしたもの
- 6桁になるようゼロで埋めたスコア
入力がshadow_foxと420の場合、出力は次のとおりです。
Shadow Fox
xof_wodahs
SHA
000420自分で試してみよう
extends Node
func _ready():
var player_name := OS.read_string_from_stdin()
var score := OS.read_string_from_stdin()
# 4行を出力する
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ