配列メソッド
CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 65/92。
配列には、要素を追加したり削除したりするメソッドがあります。配列の後にドットを付けてメソッドを呼び出します: party.append("mage")。
append(value)は末尾に要素を1つ追加しますinsert(index, value)は指定したインデックスに値を挿入し、後続の要素を1つ右に移動しますpop_back()は最後の要素を削除して、その要素を返しますremove_at(index)は指定したインデックスの要素を削除しますerase(value)は値と等しい最初の要素を削除します。一致する要素がなければ、何も起こりませんclear()はすべての要素を削除します
var party := ["knight", "archer"]
party.append("mage")
party.insert(0, "healer")
print(party)["healer", "knight", "archer", "mage"]var last = party.pop_back()
print(last)
party.remove_at(1)
party.erase("archer")
print(party)mage
["healer"]append()は常に1つの要素を追加します。配列を追加すると、配列全体が1つの要素として格納されます。別の配列の各要素を追加するには、append_array()を使います:
var a := [1, 2]
a.append([3, 4])
print(a)
var b := [1, 2]
b.append_array([3, 4])
print(b)[1, 2, [3, 4]]
[1, 2, 3, 4]チャレンジ
簡単プログラムは入力から2つのアイテム、new_item と used_item を読み取ります。次の順序で inventory を変更してください。
new_itemを末尾に追加する- 値を使って
used_itemを削除する(配列に含まれていない場合は、何も変わりません) "map"を先頭、インデックス0に挿入する
2行の print() はすでに記述されています。入力が bow と shield の場合、出力は次のとおりです。
["map", "sword", "potion", "bow"]
4自分で試してみよう
extends Node
func _ready():
var inventory := ["sword", "shield", "potion"]
var new_item := OS.read_string_from_stdin()
var used_item := OS.read_string_from_stdin()
# 1. new_itemを末尾に追加する
# 2. used_itemを削除する
# 3. "map"を先頭に挿入する
print(inventory)
print(inventory.size())
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ