Ich würde das zweite Konstruktorargument optional machen und in diesem Fall den Wert des ersten Arguments verwenden. Kann ich das irgendwie? Dieser Code wird nicht kompiliert, da er realUser
nicht finden kann:
Ich bin mir sicher, dass ich damit umgehen kann, indem ich meinen eigenen Konstruktor schreibe, aber ich habe mich gefragt, ob es einen prägnanteren Weg gab. Jetzt, wo ich versucht habe, meinen eigenen Konstruktor zu schreiben, ist es nicht so schlimm:
%Vor%Wenn jemand etwas kürzer als groß dann kommen kann, werde ich sonst meine eigene Antwort posten.
Ich glaube, Ihre Lösung mit dem Hilfskonstruktor ist die bessere. Ein Parameter ist in seiner eigenen Parameterliste nur in den folgenden nicht sichtbar. Du müsstest also
machen %Vor%und dann mit
anrufen %Vor%Nicht zu nett.
Sie können Parameter aus der gleichen Parameterliste nicht als Standardargumente verwenden. Didierds Lösung funktioniert, und wahrscheinlich ist Ihre Lösung mit einem zweiten Konstruktor am elegantesten. Hier ist eine dritte Alternative, die das gefürchtete null
verwendet:
Wenn Sie null
vermeiden möchten, können Sie die Klasse Opt[A]
hier besprochen , wenn es Ihnen nichts ausmacht die Overhead. So oder so, ich würde immer noch mit Ihrer zweiten Konstruktor-Lösung gehen.
Tags und Links scala constructor