如何将值强制转换为 Pony 中的字符串?

How to coerce a value to a String in Pony?

我正在尝试学习 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 的子类型。很好,但我如何获得其中之一?

您必须将整数转换为 String

在 Pony 中有一个名为 Stringable 的接口,它声明了函数 string(fmt),并且很多 类 实现了该接口。例如整数。

所以只需调用 .string() 即可将值转换为可打印的内容。