2008-11-18 17 views

Odpowiedz

14

Rzeczywiście istnieje: nazywa się "val". :-)

({ x: Double => 
    val y = x + x 
    y * y 
})(3) 

Nawiasy są oczywiście opcjonalne tutaj, ja po prostu wolę im nawiasach przy definiowaniu funkcji (mimo wszystko, nie jest to Lisp). Słowo kluczowe val definiuje nowe powiązanie w bieżącym zakresie leksykalnym. Scala nie zmusza mieszkańców do zdefiniowania własnego zakresu, w przeciwieństwie do języków takich jak Lisp i ML.

W rzeczywistości, var działa również w dowolnym zakresie, ale jest uważany za zły styl, aby z niego korzystać.

+0

dziękuję :) Myślałem, że próbowałem, ale muszę zdobyć składnia źle. Czy istnieje sposób na to wszystko w jednym wierszu? – namin

+0

@ Germán ma wersję jednokreskową. –

6

OK, oto jedna wkładka z wiązaniem:

({ x:Double => val y = x + x; y * y })(3) 

Cheers

Powiązane problemy