という名前のソース ファイルに次のものがあるとしますSomething.scala
。
object Something {
val x = "foo".charAt(0)
}
コンパイラ フラグを使用して-Xprint:typer
、コンパイラのtyper
フェーズの後にプログラムを確認できます。
$ scalac -Xprint:typer Something.scala
[[syntax trees at end of typer]]// Scala source: Something.scala
package <empty> {
final object Something extends java.lang.Object with ScalaObject {
def this(): object Something = {
Something.super.this();
()
};
private[this] val x: Char = "foo".charAt(0);
<stable> <accessor> def x: Char = Something.this.x
}
}
:type
REPL で使用することもできます。
scala> :type "foo".charAt(0)
Char
scala> :type "foo".charAt _
Int => Char
上記のコメントで Luigi Plinge が指摘しているように、IDE もこの情報を取得するためのより良い方法を提供する場合があります。