Menu
Coddy logo textTech

関数:項目の追加

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

challenge icon

チャレンジ

簡単

前回の lesson のプロジェクトを拡張します(Item<T> type はそのまま保持してください)。

  • id = #inventory + 1itemcreate し、table.insertinventoryinsert して、それを返すジェネリック function addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T> を作成します。
  • 型付けされた空の配列 weapons(型は {Item<{damage: number}>})を create します。
  • addItem を使用して {damage = 25}"Iron Sword" を追加し、結果を sword に保持します。
  • addItem を使用して {damage = 40}"Fire Axe" を追加し、結果を axe に保持します。

その後、それぞれ新しい行に出力(print)します:

  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入門のすべてのレッスン