2016-06-30 6 views
7

Gradle公式サイトとAndroid Developer公式サイトを検索しましたが、これに対する回答が見つかりませんでした。Android Gradle build.gradle it.buildConfigFieldには「it」とは何ですか?

  1. android build.gradleでは、「それ」とは何ですか。下のbuildConfigFieldメソッドでは?これはオブジェクトのインスタンスですか?

buildConfigFieldメソッドをdefaultConfigに移動すると、「それ」のないメソッドを使用できることがわかりました。

  1. 2つの違いは何ですか?なぜ私はもう一方の方法を使用することができますか?

    android { 
        ... 
    
        defaultConfig { 
        ... 
    
         buildConfigField 'String', 'API_KEY', MyApiKey 
        } 
        buildTypes { 
         release { 
          ... 
         } 
        } 
        buildTypes.all { 
         ... 
        } 
        buildTypes.each { 
         ... 
    
         it.buildConfigField 'String', 'API_KEY', MyApiKey 
        } 
    } 
    

答えて

5

GradleのビルドスクリプトのGroovyスクリプトを強化しています。 GroovyスクリプトやGradleビルドスクリプトで "it"が表示されている場合は、クロージャに渡されたオブジェクトを表します。あなたの例では、クロージャは "{...}"で、 "each"に渡されます。したがって、それは "buildTypes"コレクション(またはiterableであるもの)を通して反復し、各エントリをクロージャに渡し、渡されたオブジェクトを "it"として参照しました。クロージャーに渡されるオブジェクトの名前は変更できますが、デフォルトでは「それ」です。

+0

あなたの答えから、私は詳細な説明についてはGroovyのドキュメントを調べるべきであることに気付きました。 – ethan

関連する問題