Ich habe eine Anwendung mit einem Fall Klasse case class Test(name: String, flag: Boolean)
und bei dem Versuch, erhalte ich die folgende Fehlermeldung zu kompilieren:Scala Typenkonflikt auf Wertfunktion
[error] found : String => Boolean
[error] required: Boolean
Hier ist der Code, der den Fehler zu werfen:
val flag = (input: String) => try {
if(input.toInt == 1) true else false
} catch {case e: NumberFormatException => false}
Ist es möglich, dies zu beheben, oder muss ich einen anderen Ansatz wählen?
Der von Ihnen gepostete Code sollte selbst keinen Fehler enthalten. Wenn Sie jedoch versuchen, einen "Test" zu instanziieren, indem Sie "Test (" irgendein Name ", Flag)" ausführen, wird dies fehlschlagen, weil "flag" eine Funktion ist. Die 'Test' Klasse benötigt einen booleschen Wert. – marstran
Ich versuche etwas wie 'Test (" irgendein Name "," 1 ")' 'zu machen und möchte ein Objekt von' Test ("irgendein Name", wahr) zurückgeben '. – bokoxev