Es ist unwahrscheinlich, dass Sie das Konstrukt außerhalb des Aufzugsrahmens sehen. Ich vermute, dass es meistens Ruby-Neid ist.
Fast jedes andere Scala-Projekt wird sich vor dieser Syntax scheuen. Nicht wegen des abschließenden Fragezeichens, sondern weil es eine weitere Möglichkeit ist, Unterstriche in Ihren Code einzufügen - und das Symbol ist bereits viel zu stark überladen.
Basierend auf einer Auswertung mehrerer Scala-Projekte kann die Notation als nicht idiomatisch beschrieben werden.
UPDATE
Der Grund, dass der Unterstrich erforderlich ist, ist von der Infix-Schreibweise eindeutig zu machen, in denen:
x?y
würde
x.?(y)
mit ?
A als
gelesen werden, dass Methodenname. Während:
x_?y
demarks Klar x_?
als Atom zu sein.
Die Syntax ist ein Beispiel dessen, was formal als „mixed identifier“ bekannt ist, und soll Definitionen ermöglichen, wie beispielsweise
def prop_=(v:String) = ... //setter
def unary_- = ... //prefix negation operator
Es könnte (wohl) einen Hack berücksichtigt werden, wenn ähnliches Konstrukt verwendet wird, Einfach ein Fragezeichen an das Ende eines Methodennamens schieben.
Ähnliche Fragen: http://stackoverflow.com/questions/1598410/use-of-special-characters-in-function-names – aioobe