特定のポーションを探す
CoddyのLuaジャーニー「基礎」セクションの一部。レッスン 81/90。
チャレンジ
簡単インベントリの価値を計算するシステムを基に、ショップのインベントリから特定のポーションを検索し、詳細情報を表示する機能を実装しましょう。
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オンラインコンパイラ