Estoy creando una pequeña DSL Scala y me encuentro con el siguiente problema del que realmente no tengo una solución. Un pequeño ejemplo conceptual de lo que quiero lograr:Scala DSL: método de encadenamiento con métodos sin parámetros
(Compute
write "hello"
read 'name
calc()
calc()
write "hello" + 'name
)
el código que define esta DSL es más o menos esto:
Object Compute extends Compute{
...
implicit def str2Message:Message = ...
}
class Compute{
def write(msg:Message):Compute = ...
def read(s:Symbol):Compute = ...
def calc():Compute = { ... }
}
Ahora la pregunta: ¿Cómo puedo deshacerme de estos paréntesis después Calc ? ¿Es posible? ¿si es así, cómo? solo omitirlos en la definición no ayuda debido a errores de compilación.
¡Yay! ¡Difícil!))) – noncom