Ho appena effettuato alcune inversioni sulla corrispondenza del modello e il relativo codice byte.Istruzione di carico e di immagazzinamento non necessaria nel codice byte di scala
val a = Array(1,2,3,4)
a.map {
case i => i + 1
}
Per codice di cui sopra, io uso javap e ottenuto il codice di byte per la funzione annonymous all'interno mappa:
public int apply$mcII$sp(int);
Code:
0: iload_1
1: istore_2
2: iload_2
3: iconst_1
4: iadd
5: ireturn
così sembra a me che in linea 0 spingiamo un int (il parametro) , quindi nella riga 1 carichiamo l'int e nella riga 2 lo spingiamo indietro ... Qual è lo scopo qui?
Grazie!
sto usando 2.9.3 qui. Sembra che l'output non sia lo stesso ... – darkjh
@darkjh storia antica! Il mio alias 2.9 non esegue nemmeno javap. Ho appena notato la tua errore di battitura: quando indaga su qualcosa e il risultato è l'inverso di quello che ti aspettavi. Grazie per quello. –