Solidity
使用 Enum 賦值
我是 Solidity 的新手。
我想知道是否可以使用列舉在 Solidity 中做這樣的事情。
enum Menu { Burger, Pizza, Fries } uint price; // storing different prices of different items here // Assuming that the var userMenu contains the user's selected value from Menu enum if (userMenu == Menu.Burger) { price = 2; } else if (userMenu == Menu.Pizza){ price = 4; } else if (userMenu == Menu.Fries) { price = 1; }
我知道將值初始化為價格可以更有效地完成。我只想知道是否有任何方法可以做這樣的事情。謝謝!
你可以這樣嘗試:
// SPDX-License-Identifier: MIT pragma solidity 0.8.0; contract Test1 { Menu userMenu; enum Menu { Burger, Pizza, Fries } uint price; // storing different prices of different items here function setUseMenu(Menu _enumIndex) external { userMenu = _enumIndex; } function setPrice() public { // Assuming that the var userMenu contains the user's selected value from Menu enum if (userMenu == Menu.Burger) { price = 2; } else if (userMenu == Menu.Pizza){ price = 4; } else if (userMenu == Menu.Fries) { price = 1; } } function getPrice() external view returns(uint) { return price; } }