Non molto tempo fa ho iniziato a utilizzare Scala anziché Java. Parte del processo di "conversione" tra le lingue per me stava imparando a usare Either s invece di (controllato) Exception s. Ho scritto questo codice per un po ', ma rec...
Volevo creare una classe CompileResult , che può essere trattata come un tipo E, ma ha alcuni metodi utili aggiuntivi. Dovrebbe essere un CompileSuccess o un CompileFailure (che ha anch'esso alcune funzionalità estese). Tuttavia, n...
Sto scrivendo software per compilare programmi. Pertanto avere un Compiler che compila un dato codice sorgente. Quindi restituisce un CompileResult che è simile a un tipo Either (in realtà sta delegando internamente a un oggetto...
Ho un tipo Either ad es. Either[A, B] ma voglio Either[X, Y] utilizzando due funzioni A => X e B => Y .
Posso farlo con fold:
val myEither: Either[A, B] = ...
myEither.fold(
a => Left(createNewX()),
b =>...