我正在创建一个小型scala DSL,并遇到以下问题,但我没有真正解决问题。我想要什么小的概念性例子来实现:Scala DSL:使用无参数方法链接方法
(Compute
write "hello"
read 'name
calc()
calc()
write "hello" + 'name
)
代码定义这个DSL大致是这样的:
Object Compute extends Compute{
...
implicit def str2Message:Message = ...
}
class Compute{
def write(msg:Message):Compute = ...
def read(s:Symbol):Compute = ...
def calc():Compute = { ... }
}
现在的问题:我该如何计算后摆脱这些括号?可能吗?如果是这样,怎么样?只是在定义中忽略它们并不能解决编译错误。
耶!整蛊! ))) – noncom 2012-09-11 08:47:33