【发布时间】:2016-11-06 04:44:15
【问题描述】:
假设,我们有类似的东西:
val x = "foo".charAt(0)
让我们进一步假设,我们不知道方法 charAt(0) 的返回类型(当然,在 Scala API 中有描述)。有没有办法,我们可以找出,变量x在其定义之后以及何时没有显式声明时具有哪种类型?
更新 1: 我最初的问题不够精确:我想知道(出于调试原因)变量的类型。也许有一些编译器选项可以查看 Scala 的类型推断将变量声明为什么类型?
【问题讨论】:
-
如果没有一些额外的信息,将很难回答这个问题。 “确定类型”是什么意思?在编译时用它做点什么?在运行时?您需要 type,还是
java.lang.Class足够好?你能用 Scala 2.10 吗? -
这种“typeof”的东西通常表明你的代码很糟糕,你应该构造你的代码,让多态性自然地处理这个..
-
@TravisBrown 你说得对,我的问题不够精确。我想知道(出于调试原因)变量的类型。也许有一些编译器选项可以查看 Scala 的类型推断将变量声明为什么类型?
-
我只需将鼠标悬停在它上面,然后在您选择的 IDE 中按 Ctrl 键
-
@LuigiPlinge 谢谢你的提示。