Klamry w scali

0

Co znaczy wyrażenie w nawiasach:

// ...
.map(i => { count +=1; i })
// ...

chodzi mi o tę konstrukcję { a, b }
?

0

aha, czyli to tak będzie po ludzku:

// ...
.map(i -> { 
    count ++; 
    return i; 
})
// ...
2

W takim bloku w Scali: {...}, mogą być wyrażenia i deklaracje, a ostatnie [wyrażenie] jest zwracane (jest wartością bloku).

3

Klamry służą do grupowania wyrażeń. Doprecyzowując wypowiedź @lion137: wartość ostatniego obliczonego wyrażenia w bloku będzie wartością tego bloku.

return w Scali działa inaczej niż w Javie jeśli znajduje się w funkcji/ lambdzie/ zwał jak zwał. return w Scali zawsze wraca z otaczającej metody. Jeśli używasz return w funkcji/ lambdzie to kompilator Scali wstawia rzucanie oraz łapanie specjalnego wyjątku. W Scali 3 ten mechanizm ma być wycofywany: https://dotty.epfl.ch/docs/reference/dropped-features/nonlocal-returns.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1