我正在使用枚举方法name()
来打印枚举变量的字符串值。
我应该先进行null
检查吗?
答案 0 :(得分:2)
name()
方法无法返回null
。如果值与枚举值不对应,它将返回空字符串。建议进行空字符串检查。
引自IEEE std 1800-2012§6.19.5.6名称()
name()方法返回给定枚举值的字符串表示形式。如果给定值不是枚举的成员,则name()方法返回空字符串。
答案 1 :(得分:1)
不,您无需担心null
枚举。但是,如果枚举没有与0
例如:
typedef enum {STATE0, STATE1} plain_enum;
typedef enum {VAL0=1, VAL1} special_enum;
module test;
initial begin
plain_enum plain;
special_enum special;
$display("plain: %s", plain.name());
$display("special: %s", special.name());
end
endmodule
返回:
# plain: STATE0
# special:
因为special_enum
没有与0
在此处编辑/重新运行代码:http://www.edaplayground.com/s/4/647