Es poco probable que vea la construcción fuera del marco de elevación; Sospecho que es principalmente Ruby-envidia.
Casi cualquier otro proyecto de Scala se alejará de esta sintaxis. No por el signo de interrogación final, sino porque es otra forma de introducir guiones bajos en el código, y el símbolo ya está demasiado sobrecargado.
Según la evaluación de varios proyectos de Scala, la notación puede describirse razonablemente como no idiomática.
ACTUALIZACIÓN
La razón por la que no se requiere el subrayado es para eliminar la ambigüedad de notación infija, en los cuales:
x?y
podría leerse como
x.?(y)
con ?
ser una nombre del método. Considerando lo siguiente:
x_?y
demarca Claramente x_?
como atómica.
La sintaxis es un ejemplo de lo que se conoce formalmente como un "identificador mixto", y está destinado a permitir definiciones tales como
def prop_=(v:String) = ... //setter
def unary_- = ... //prefix negation operator
Podría (posiblemente) ser considerado un corte cuando se utiliza construcción similar simplemente para empujar un signo de interrogación al final del nombre de un método.
Pregunta similar: http://stackoverflow.com/questions/1598410/use-of-special-characters-in-function-names – aioobe