我正在努力学习Pony,并且出于显而易见的原因,我想要做的第一件事就是打印价值。
然而,它似乎并不适用于大多数事情,例如:
env.out.print(2 + 2)
给出错误:
Could not infer literal type, no valid types found
我也尝试过:
let four: U32 = 2 + 2
env.out.print(four)
但是这给出了一个更加丑陋的错误,说我需要一些ByteSeq
的子类型。很好,但我怎么得到其中一个呢?
答案 0 :(得分:7)
您必须将整数转换为String
。
在Pony中有一个名为Stringable
的接口,它声明了函数string(fmt)
,并且许多类实现了该接口。例如,整数。
因此,只需致电.string()
即可转换可打印的值。