D 未打印期望值的字符串枚举
我有以下D计划:D 未打印期望值的字符串枚举,d,dmd,D,Dmd,我有以下D计划: import std.stdio; enum XYZ : string { A = "hello", B = "foo", C = "bar" } void main() { writeln(XYZ.A); writeln(XYZ.B); writeln(XYZ.C); } 上面印着: A B C 我希望它能打印hello、foo、和bar。为什么程序要打印常量的名
import std.stdio;
enum XYZ : string
{
A = "hello",
B = "foo",
C = "bar"
}
void main()
{
writeln(XYZ.A);
writeln(XYZ.B);
writeln(XYZ.C);
}
上面印着:
A
B
C
我希望它能打印hello
、foo
、和bar
。为什么程序要打印常量的名称而不是它的值?那么如何打印字符串值呢
编译器是DMD v2.063.2
为什么程序要打印常量的名称而不是它的值
作为一般规则,writeln
和其他函数打印枚举值的名称,因为对于例如数字类型,名称传递的信息比数字更多
那么如何打印字符串值呢
把它放到一根弦上:
cast(string)XYZ.A