文字列の反復処理 その1
CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 71/92。
文字列は文字の並びなので、forループで配列のように処理できます。各文字は長さ1の文字列です。
var text := "Hey"
for letter in text:
print(letter)H
e
y文字列にもインデックスがあり、0から始まります。text.length()は文字数なので、range(text.length())ですべてのインデックスを取得できます。
for i in range(text.length()):
print("position %d: %s" % [i, text[i]])position 0: H
position 1: e
position 2: y大文字と小文字を区別せずに文字を比較するには、まず変換します。to_lower()は文字列を小文字に、to_upper()は大文字に変換します。"PiZZa".to_lower()は"pizza"です。
チャレンジ
簡単プログラムは1行のテキストをtextに読み込みます。その中に文字pが何回現れるかを、pとPの両方を数えて出力してください。
入力がHappy people play ping pongの場合、出力は7です。
自分で試してみよう
extends Node
func _ready():
var text := OS.read_string_from_stdin()
# text 内の p と P を数え、その個数を出力する
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ