Stile del codice Scala preferito per diversi set di parentesi graffe

0

Mi stavo chiedendo il modo corretto di formattare una situazione come questa, dove ho una def, una foreach e una clausola if tutte nidificate, che richiedono parentesi graffe.

Attualmente trovo che sia difficile da leggere e non esiste un luogo ovvio in cui inserire 'x = >' po. Grazie.

def getAnswer(): String =
{
  var sum = 0
  (0 until 1000).foreach 
  { x => 
    if (x % 3 == 0 || x % 5 == 0)
    {
      sum += x
    }
  }
  sum.toString
}
    
posta finsbury 06.03.2014 - 20:09
fonte

1 risposta

7

Scala ha una guida di stile ufficiale che consiglia di inserire l'apertura di parentesi graffe sulla stessa linea , non su una linea a parte. I parametri dovrebbero anche essere sulla prima riga .

def getAnswer(): String = {
  var sum = 0
  (0 until 1000).foreach { x => 
    if (x % 3 == 0 || x % 5 == 0) {
      sum += x
    }
  }
  sum.toString
}

Nel tuo caso specifico, probabilmente dovresti rimuovere la maggior parte delle tue parentesi, poiché tutti, tranne quelli esterni, non sono necessari (anche, filter sarebbe idiomatico qui):

def getAnswer(): String = {
  var sum = 0
  0 until 1000 filter (x => x % 3 == 0 || x % 5 == 0) foreach (x => sum += x)
  sum.toString
}
    
risposta data 06.03.2014 - 20:22
fonte

Leggi altre domande sui tag