【发布时间】:2018-11-26 17:50:12
【问题描述】:
如果我有一个 Str 类型的对象,并且我想将其强制转换为 Int,我的理解是可以通过调用 Str 对象上的方法 Int 来做到这一点,如下所示:
"100".Int
我(想我)知道我可以做到这一点,因为https://docs.perl6.org/type/Str 的 Str 类型文档列出了 Int 方法。现在,为了将这个新创建的 Int 强制转换为 Complex 类型的对象,我尝试了以下强制:
"100".Int.Complex
哪个有效 :-) 所以没问题。除了我无法弄清楚它为什么起作用。 https://docs.perl6.org/type/Int 的 Int 类型文档没有列出方法 Complex。我确实为 ComplexStr 类找到了一个具有此名称的方法,但我不知道这是否与我的 Int 相关。
所以问题是:上述强制是如何工作的? Complex 方法从何而来?在尝试之前我怎么知道我实际上可以在 Int 对象上调用它?
【问题讨论】: