Menu
CoddyTech

特定のポーションを探す

CoddyのLuaジャーニー「基礎」セクションの一部。レッスン 81/90。

challenge icon

チャレンジ

簡単

インベントリの価値を計算するシステムを基に、ショップのインベントリから特定のポーションを検索し、詳細情報を表示する機能を実装しましょう。

inventoryテーブルはそのまま使いますが、前のステップで作成した合計価値を計算するループとその出力は削除してください。このステップでは検索結果だけを出力し、ポーションが一致しなければ何も出力しません。

次の入力が与えられます。

  • 検索するポーションの名前を含む文字列

数値型のforループを使って、inventoryテーブルを順に調べましょう。各ポーションについて、等価演算子==を使い、ポーションのnameが検索語と一致するか確認してください。

一致するポーションが見つかったら、次の形式ですべての詳細を出力してください。

Found: [name]
Price: [price] gold
Stock: [stock] units

文字列連結を使って、説明文と各ポーションのプロパティを結合してください。ポーションの詳細を見つけて表示したら、探していたものが見つかったので、break文を使ってループを終了してください。

自分で試してみよう

-- Inventory table with potion data
local inventory = {
    {name = "Health Potion", price = 15, stock = 8},
    {name = "Mana Potion", price = 12, stock = 5},
    {name = "Strength Potion", price = 25, stock = 3},
    {name = "Speed Potion", price = 18, stock = 2}
}

-- Initialize total value variable
local totalValue = 0

-- Calculate total inventory value using numeric for loop
for i = 1, #inventory do
    local itemValue = inventory[i].price * inventory[i].stock
    totalValue = totalValue + itemValue
end

-- Print the total inventory value
print("Total inventory value: " .. totalValue .. " gold")

基礎のすべてのレッスン

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