これが明白である場合はお詫びしますが、私はscalaに慣れていないため、次のコードで2つの予期しない動作が発生しています:
Seq(1, "a", 2, "b") map {
case i: Int => i+1
}
1) 文字列が変更されておらず、数値が 1 ずつ増加するコレクションを取得することを期待していましたが、代わりにエラーが発生しました。
2) このcase i: Int => i + 1
構文は、Int 用に定義された部分関数を表していると思います。しかし、 map は total 関数を使用しているように見えますが、なぜこれがコンパイルされるのでしょうか? コンパイラが私を助けてくれる方がいいのではないでしょうか? 実行時例外をコンパイル時例外に移動することを常にお勧めします。