関数:項目の追加
CoddyのLuaジャーニー「Luau入門」セクションの一部。レッスン 64/73。
チャレンジ
簡単前のレッスンのプロジェクトを拡張してください(Item<T>型を維持します)。
id = #inventory + 1でitemを作成し、table.insertを使ってinventoryに挿入し、それを返すジェネリック関数addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T>を記述してください。- 型が
{Item<{damage: number}>}の空の型付き配列weaponsを作成してください。 addItemを使って"Iron Sword"を{damage = 25}とともに追加し、結果をswordに格納してください。addItemを使って"Fire Axe"を{damage = 40}とともに追加し、結果をaxeに格納してください。
次に、以下をそれぞれ別の行に出力してください。
#weaponssword.idsword.nameaxe.idweapons[2].data.damage
自分で試してみよう
-- 前のレッスンから
type Item<T> = {
id: number,
name: string,
data: T,
}
-- ここにコードを書く
-- 1) addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T>
-- 2) weapons配列を作成し、Iron SwordとFire Axeを追加する
-- 3) 要求された5つの値を出力する
Luau入門のすべてのレッスン
7プロジェクト:Typed Task Manager
プロジェクト:タスクの型定義タスクを追加する関数自分で練習してみよう: Luaオンラインコンパイラ