私は小さなスカラ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