Qual è la differenza tra BoxedUnit e Unit in Scala? Quando vengono utilizzati come tipo di ritorno di una funzione? E qual è la loro relazione con REF? Ecco un errore di tipo mancata corrispondenza che ho riscontrato quando si trattava dell'unità.BoxedUnit vs. Unit in Scala
error: java.lang.AssertionError: assertion failed: Can't convert from UNIT to REF(class BoxedUnit) in unit hello.scala at source-/Users/shiyu/Scala/FinalDataFlow/src/print/hello.scala,line-347,offset=13999
@srjd cosa succede se provo a riprodurre il modello su un AnyVal che può contenere un'unità? Ad esempio, ho provato a usare 'caso Right (Unit)' e non corrispondeva. Come dovrei fare questo abbinamento di modelli? –
Sto usando 'caso Right (anyVal) if (anyVal == Unit || anyVal.isInstanceOf [BoxedUnit])' e funziona ma lo trovo un po 'brutto dal punto di vista del client –
'caso Right (())' . Il valore univoco di * tipo * 'Unit' è'() '. Il valore * 'Unità' è in realtà l'oggetto complementare della classe 'Unit', che non è la stessa cosa di'() '. – sjrd