内部类型表示
之前提到过,内置的 $ (字符串化)操作符将基本类型转换成字符串,这样可以用 echo 过程将内容打印到控制台上。但是高级类型和你自定义的类型,需要定义 $ 操作符才能使用。 有时你只想在没有写一个高级类型的 $ 操作符时调试当前的值,那么你可以用 repr 过程,它可以用于任何类型甚至复杂的有环数据图。下面的示例展示了 $ and repr 在即使基本类型输出上也有不同:
- var
- myBool = true
- myCharacter = 'n'
- myString = "nim"
- myInteger = 42
- myFloat = 3.14
- echo myBool, ":", repr(myBool)
- # --> true:true
- echo myCharacter, ":", repr(myCharacter)
- # --> n:'n'
- echo myString, ":", repr(myString)
- # --> nim:0x10fa8c050"nim"
- echo myInteger, ":", repr(myInteger)
- # --> 42:42
- echo myFloat, ":", repr(myFloat)
- # --> 3.1400000000000001e+00:3.1400000000000001e+00