要素の反復処理
CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 69/92。
反復処理とは、配列の要素を1つずつ順に処理することです。forループでは、要素を直接取り出せます。
var fruits := ["apple", "banana", "orange"]
for fruit in fruits:
print(fruit)apple
banana
orange各反復で、ループ変数 fruit には、最初から最後まで順に次の要素が格納されます。ループは要素ごとに1回実行されるため、インデックスも size() も必要ありません。
ループ内で各要素をテストできます。length()メソッドは文字列の文字数を返すため("apple".length()は5)、このループは3文字より長い単語だけを出力します。
var words := ["hi", "hello", "hey", "howdy"]
for word in words:
if word.length() > 3:
print(word)hello
howdyチャレンジ
簡単プログラムはカンマで区切られた単語を1行読み込み、それを配列 words に分割します(ここまではすでに記述されています)。
5文字より長い単語をすべて、順序を保ったまま配列 long_words に追加してください。print(long_words) の行はすでに記述されています。入力が penguin,koala,dolphin の場合、出力は次のとおりです。
["penguin", "dolphin"]自分で試してみよう
extends Node
func _ready():
# cat,penguin,dog のような1行を読み込み、カンマで区切って単語の配列にする
var words := OS.read_string_from_stdin().split(",")
var long_words: Array[String] = []
# 5文字より長い単語をすべて long_words に追加する
print(long_words)
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ