内部类型表示

之前提到过,内置的 $ (字符串化)操作符将基本类型转换成字符串,这样可以用 echo 过程将内容打印到控制台上。但是高级类型和你自定义的类型,需要定义 $ 操作符才能使用。 有时你只想在没有写一个高级类型的 $ 操作符时调试当前的值,那么你可以用 repr 过程,它可以用于任何类型甚至复杂的有环数据图。下面的示例展示了 $ and repr 在即使基本类型输出上也有不同:

  1. var
  2. myBool = true
  3. myCharacter = 'n'
  4. myString = "nim"
  5. myInteger = 42
  6. myFloat = 3.14
  7. echo myBool, ":", repr(myBool)
  8. # --> true:true
  9. echo myCharacter, ":", repr(myCharacter)
  10. # --> n:'n'
  11. echo myString, ":", repr(myString)
  12. # --> nim:0x10fa8c050"nim"
  13. echo myInteger, ":", repr(myInteger)
  14. # --> 42:42
  15. echo myFloat, ":", repr(myFloat)
  16. # --> 3.1400000000000001e+00:3.1400000000000001e+00