1

Scala で変数の型を確認するにはどうすればよいですか?

私はこれをそのようにしようとしました:

val x = 10
println(type(x))

また

val x = 'Hello!'
println(x.type)

残念ながら、これらの両方の方法でエラーが発生しました。

4

1 に答える 1

6

あなたがしようとしていることに応じて、これで十分かもしれません

val x=10
println(x.getClass.toString)

ただし、これは型の消去により機能しなくなります。Scala には Java よりも多くの情報があり、上記は Java のビューのみを提供します。このテーマに関する詳細が記載されたスレッドがここにあります。結果は次のとおりです。

def manOf[T:Manifest](t:T):Manifest[T] = manifest[T]
println(manOf(1))
println(manOf(List(1,2,3)))

あなたを取得します

Int
scala.collection.immutable.List[Int]

一方、この方法では、不思議な.getClass.toStringことしか得られませんintclass scala.collection.immutable.$colon$colon

もちろん、REPL シェルを使用している場合は、(scala) タイプの情報が表示されます。

$ scala
Welcome to Scala version 2.9.2 (OpenJDK 64-Bit Server VM, Java 1.6.0_27).
Type in expressions to have them evaluated.
Type :help for more information.

scala> val x=10
x: Int = 10
于 2013-11-02T14:30:54.573 に答える