2016-01-27 9 views
13

Sto sviluppando una classe con diverse proprietà lateinit di un tipo. Penso che sia troppo prolisso per dichiarare ciascuno di essi in linea separata come questo:Come dichiarare diverse proprietà su una riga

lateinit var a: String 
lateinit var b: String 

quindi vorrei dichiarare loro su una linea come questa:

lateinit var b, c: String // error: Property getter or setter expected 

Ma ottengo un errore Property getter or setter expected. C'è un modo per dichiarare diverse proprietà su una riga in Kotlin?

risposta

25

No, non c'è modo di farlo. Dichiarare più proprietà sulla stessa linea è disapprovato da molte guide di stile Java, quindi non abbiamo implementato il supporto per questo in Kotlin.

+0

C'è qualche possibilità che sarà attuato in seguito? – netimen

+1

Al momento non abbiamo piani simili. – yole

5

Osservando la grammatica ciò non è possibile:

property (used by memberDeclaration, declaration, toplevelObject) 
    : modifiers ("val" | "var") 
     typeParameters? (type "." | annotations)? 
     (multipleVariableDeclarations | variableDeclarationEntry) 
     typeConstraints 
     ("by" | "=" expression SEMI?)? 
     (getter? setter? | setter? getter?) SEMI? 
    ; 

Si può fare solo dichiarazioni distruggendo con:

val (name, age) = person 
Problemi correlati