scala> val two = (1,2)
two: (Int, Int) = (1,2)
scala> val one = (1,)
<console>:1: error: illegal start of simple expression
val one = (1,)
^
scala> val zero =()
zero: Unit =()
è questa:Scala ha sintassi per le tuple 0 e 1?
val one = Tuple1(5)
davvero il modo più conciso per scrivere un tupla Singleton letterale nella Scala? E lo Unit
funziona come una tupla vuota?
Questa incoerenza infastidisce qualcun altro?
Dove ti serve? –
Non sono sicuro di poter pensare ad un linguaggio che abbia tuple '1' o' 0' (a qualsiasi effetto utile). Non riesco nemmeno a pensare al perché vorresti usarli. Una tupla da 1 è il valore che hai inserito. per esempio. in Python, 'x = (5)' restituisce '5'. Non è possibile operare su tuple come si farebbe con le liste - ad esempio 'x.head' o' x.tail' perché una tupla di 5 inte è un _tipo diverso_ rispetto a una tupla con 4 inte. –
In Python la sintassi per una tupla di dimensione uno è 'x = (5,)'. La virgola è necessaria per rimuovere l'ambiguità come 'x = (5)' in effetti valuta 'x = 5'. – Debilski