1. 什么是枚举体?
枚举法是利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检验,从中找出符合要求的答案,因此枚举法是通过牺牲时间来换取答案的全面性。 在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。 这两种类型经常(但不总是)重叠。
通俗来说,枚举就是对一个对象的所有可能取到的值的集合。
2. 如何使用枚举体?
枚举语法定义格式:
enum 枚举名 {
枚举元素1,枚举元素2,……};
Solidity官方枚举体语法结构图解:
枚举体语法格式注释:
1)enum必须要有成员对象, { }中不能为空;
2)enum 中不能出现中文;
3){ }中不能加分号
3. 枚举体的用法实例?
案例:题设要求,1)只能约会fengjie,binbin和yuanyuan三位女孩;2)在约会binbin之前必须完成和fengjie的约会。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
contract enumTest{
enum girl {
fengjie,binbin,yuanyuan}
girl dategirl = girl.fengjie;
function firstNightDate() public returns(girl){
require(dategirl == girl.fengjie);
return dategirl = girl.binbin;
}
function secondNightDate() public view {
require(dategirl == girl.binbin);
}
}