2013-03-03 14 views
6

sto cercando di porto un po 'di codice Java in Scala:scala mentre assegnazione ciclo

while ((j=f('blah'))>=0) ... 

ERRORE: "value> = non è membro di Unit"

questo non è possibile?

+0

Se si ha realmente bisogno che, che stai facendo è rong ... – Landei

risposta

15

Le assegnazioni restituiscono () (unità) in Scala. Ma va bene perché puoi mettere un blocco di codice ovunque. Hai bisogno di questo, invece:

while ({ j=f("blah"); j } >= 0) ... 
+5

La motivazione a quella può essere trovato qui: [Qual è la motivazione per l'assegnazione Scala valutare all'unità piuttosto che il valore assegnato?] (http://stackoverflow.com/questions/1998724/what-is-the-motivation-for-scala-assignment-evaluating-to-unit- rather-than-the-v) – EECOLOR

+0

lifesaver grazie – etw3

Problemi correlati