Scala で変数の型を確認するにはどうすればよいですか?
私はこれをそのようにしようとしました:
val x = 10
println(type(x))
また
val x = 'Hello!'
println(x.type)
残念ながら、これらの両方の方法でエラーが発生しました。
あなたがしようとしていることに応じて、これで十分かもしれません
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
ことしか得られませんint
class 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