2017-09-08 4 views
0

私はこの言葉をどこかで見たような気がしますが、WebやSOで見つけられませんでした。たとえば、Gradle dependenciesクロージャーのcompileメソッドの後にクロージャを追加することができるGroovy構文の名前は何ですか?どのように機能するのですか?どのように私はこの構文を使用する関数を書くだろうか?Groovyの構文(Gradle 'exclude' closure syntaxなど)とは何ですか?

compile ('org.springframework.boot:spring-boot-starter-web') { 
    exclude group: 'org.slf4j', module: 'slf4j-api' 
} 

ありがとう!

答えて

1

Groovyには、最後のパラメータとしてクロージャをメソッドに渡すための柔軟な構文があります。考えてみましょう:

def myCompile (a, b, c) { 
    println c(a,b) 
} 

myCompile(10, 20, { x, y -> x + y }) 

myCompile(10, 20) { x, y -> 
    x + y 
} 

私は、これは名前を持っているとは思わないが、より一般的にGradleのbuild.gradle構文は流体と自然であるDSL(ドメイン固有言語)を形成します。 DSLはこのような構文的な砂糖(そして他の多くの例...それは大きな話題です)の動機です。

+0

それはそれです!私は前にそれを見たことが分かっていた!素晴らしい答えをありがとう! –

関連する問題