私はGroovyが初めてで、特定のタスクのためにミニDSLを書こうとしています。この目的のために、私は以下のような問題を解決しようとしています: このコードを呼び出して (括弧を使用せずに) 5 を出力 (および/または返し) したい:
give me 5
以下のような定義が機能すると予想しました。
def give = {clos -> return clos}
def me = {clos -> println clos; return clos}
しかし、実際にはそうではありません。「give」と「me」を定義して、「give me 5」という式で値 5 を返す方法を教えてください。ここで、meはクロージャーでなければなりません。give はメタクラス、プロパティなどでもかまいません。
前もって感謝します!Ⅳ