Menu
Coddy logo textTech

関数:項目の追加

CoddyのLuaジャーニー「Luau入門」セクションの一部。レッスン 64/73。

challenge icon

チャレンジ

簡単

前のレッスンのプロジェクトを拡張してください(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に格納してください。

次に、以下をそれぞれ別の行に出力してください。

  1. #weapons
  2. sword.id
  3. sword.name
  4. axe.id
  5. weapons[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入門のすべてのレッスン

自分で練習してみよう: Luaオンラインコンパイラ