如何在Nim中覆盖自定义对象的默认字符串转换方法?
自定义Nim对象的字符串转换方法
要修改echo输出自定义对象时的字符串格式,你需要为Point类型实现$运算符的自定义过程(proc)——Nim中$是用于将对象转换为字符串的标准运算符,echo内部会调用它来生成输出内容。
具体实现代码如下:
type Point = object x: int y: int # 自定义$运算符,返回我们需要的字符串格式 proc `$`(p: Point): string = result = "(" & $p.x & "," & $p.y & ")" let p = Point(x:4, y:5) echo p # 现在输出:(4,5)
你也可以用更简洁的字符串插值写法:
proc `$`(p: Point): string = result = fmt"({p.x},{p.y})"
使用这种写法需要确保你导入了strformat模块(Nim 1.4及以上版本默认可用,低版本可能需要手动导入)。
内容的提问来源于stack exchange,提问作者Saeed Baig
相关产品推荐
相关产品推荐

