2012-09-08 4 views
16

Voglio dividere il seguente Scala riga di codice in questo modo:Linea carattere di continuazione a Scala

ConditionParser.parseSingleCondition("field=*value1*").description 
    must equalTo("field should contain value1") 

Ma qual è il carattere di continuazione linea?

risposta

28

avvolgerla in parentesi:

(ConditionParser.parseSingleCondition("field=*value1*").description 
    must equalTo("field should contain value1")) 

Scala non hai "carattere di continuazione line" - si deduce un punto e virgola sempre quando:

  • Un'espressione può finire
  • La seguente (non spazio bianco) la riga inizia non con un token che può iniziare una dichiarazione
  • Non sono stati trovati ( o [ non aperti prima

Così, per "ritardo" punto e virgola inferenza si può effettuare una chiamata di metodo o il punto alla fine della linea o posizionare il punto all'inizio della riga seguente:

ConditionParser. 
parseSingleCondition("field=*value1*"). 
description must equalTo("field should contain value1") 

a + 
b + 
c 

List(1,2,3) 
    .map(_+1) 
+0

I' ho visto la notazione comune in javascript, quando sposti un punto all'inizio della riga successiva –

+0

@ om-nom-nom: Sì, l'inizio della riga è comune ma non alla fine della riga (il primo funziona solo per Scala quando l'espressione è racchiusa tra parentesi). – sschaef

+0

@ om-nom-nom: Huh, non ero a conoscenza del fatto che siamo autorizzati a posizionare il punto all'inizio della riga seguente. Grazie per il suggerimento! Ho modificato la mia risposta per menzionarlo. – sschaef