포션 판매하기
Coddy Lua 여정의 기초 섹션에 포함된 레슨. 90개 중 82번째.
챌린지
쉬움판매 거래 시스템을 구현하여 물약 상점 프로젝트를 완성하세요. 검색 기능을 바탕으로, 재고 수량을 줄이고 거래 확인 메시지를 표시하여 물약 판매를 처리하는 시스템을 만드세요.
다음 입력이 제공됩니다.
- 판매할 물약 이름이 들어 있는 문자열
이전 단계의 Found, Price, Stock 출력문을 판매 처리 출력문으로 바꾸어 아래의 판매 관련 두 줄만 출력되도록 하세요. 단일 io.read()로 물약 이름을 읽으세요. 실행할 때마다 입력 한 줄이 제공됩니다.
숫자형 for 루프를 사용하여 inventory 테이블을 순회하며 지정된 물약을 찾으세요. 동등 연산자 ==를 사용하여 일치하는 물약을 찾으면 판매를 나타내도록 해당 stock 값을 1만큼 줄이세요.
재고를 업데이트한 후 다음 형식으로 물약 이름과 새 재고 수량을 보여 주는 확인 메시지를 출력하세요.
Sold 1 [potion name]
Remaining stock: [new stock count]문자열 연결을 사용하여 설명 문구와 물약 이름 및 업데이트된 재고 수량을 결합하세요. 판매 처리가 끝나면 break문을 사용하여 루프를 종료하세요.
직접 해보기
-- Inventory table with potion data
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}
}
-- Read the potion name to search for
search_name = io.read()
-- Use a numeric for loop to search through the inventory
for i = 1, #inventory do
if inventory[i].name == search_name then
print("Found: " .. inventory[i].name)
print("Price: " .. inventory[i].price .. " gold")
print("Stock: " .. inventory[i].stock .. " units")
break
end
end기초의 모든 레슨
직접 연습해 보세요: 온라인 Lua 컴파일러