パターンマッチとそれに対応するバイトコードについて調べてみました。
val a = Array(1,2,3,4)
a.map {
case i => i + 1
}
上記のコードでは、javap を使用して、マップ内の無名関数のバイト コードを取得しました。
public int apply$mcII$sp(int);
Code:
0: iload_1
1: istore_2
2: iload_2
3: iconst_1
4: iadd
5: ireturn
したがって、0 行目で int (パラメーター) をプッシュし、1 行目で int をロードし、2 行目でそれをプッシュバックするように思えます...ここでの目的は何ですか?
ありがとう!