関数:アイテムを追加する
CoddyのLuaジャーニー「Luau入門」セクションの一部。レッスン 68/80。
チャレンジ
簡単アイテムをインベントリに追加する関数を作成しましょう。
-- Try itの下の行を削除します。- その上に
local function addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T>と書き、{id = #inventory + 1, name = name, data = data}をinventoryに挿入して返します。 -- Try itの下でaddItem({}, "Old Map", "torn").idを出力します。
Run Code を押します。出力には 1 と表示されます。
自分で試してみよう
-- すべてのインベントリに共通するアイテムの構造
type Item<T> = {
id: number,
name: string,
data: T,
}
local sword: Item<{damage: number}> = {id = 1, name = "Iron Sword", data = {damage = 25}}
local potion: Item<{heal: number}> = {id = 2, name = "Health Potion", data = {heal = 40}}
-- 試してみよう
print(sword.name)
print(potion.data.heal)
Luau入門のすべてのレッスン
7プロジェクト:型付きタスク管理ツール
プロジェクト:タスクの構造タスクを追加する関数10プロジェクト:汎用インベントリ
プロジェクト:インベントリアイテム関数:アイテムを追加する自分で練習してみよう: Luauオンラインコンパイラ