1. ホーム
  2. scala

[解決済み] Scalaの変数の表示形式

2022-02-19 21:39:21

質問内容

Scalaで変数のクラス名を表示する方法はありますか?

時々 val result = foo(a,b,c) というメソッドがあるため foo は異なるタイプのオブジェクトを返すかもしれないので、もし結果のクラスタイプを表示できれば最高です。

どのように解決するのですか?

私がよく使うクイック&ダーティなトリック

val result: Nothing = foo(a,b,c)

コンパイラはエラーを発生させ、実際に見つかった戻り値の型についての情報を提供します。

REPLでの例

scala> val foo: Nothing = 42
<console>:1: error: type mismatch;
found   : Int(42) // <---- this is what you care about
required: Nothing
      val foo: Nothing = 42


IDE を使用している場合、より洗練されたオプションを使用することができます。