"with"関数が使用されていることを私に説明できる誰かがいますか?"with"関数の使用
署名
public inline fun <T, R> with(receiver: T, f: T.() -> R): R = receiver.f()
ドク
その受信機として指定された受信機とfが指定された関数を呼び出し、その結果を返します。
そして、私はこのプロジェクトでこのプロジェクトを使用していましたAntonio Leiva。これは、ビューを動かすために使用していた:
fun View.animateTranslationY(translationY: Int, interpolator: Interpolator) {
with(ObjectAnimator.ofFloat(this, "translationY", translationY.toFloat())) {
setDuration(context.resources.getInteger(R.integer.config_mediumAnimTime).toLong())
setInterpolator(interpolator)
start()
}
}
私は私に私が意味を知っていることを考えていた
fun View.animateTranslationX(translationX: Int, interpolator: Interpolator) {
with(ObjectAnimator()) {
ofFloat(this, "translationX", translationX.toFloat())
setDuration(context.resources.getInteger(R.integer.config_mediumAnimTime).toLong())
setInterpolator(interpolator)
start()
}
}
に移すが、それはコンパイルされません...しかし、私はObjectAnimaton
が受信機であることを考えますそれは私が{}
ブラケットで呼び出すものすべてを取得します。誰でも本当の意味を説明し、基本的な例を提供することができますか?少なくともこれよりも基本的なものはありますか? :D
'WITH'は、(型パラメータ 'T'と' R'付き)関数の名前ではありません。ここではとにかく
は、同じセマンティックを持つ三つのサンプルがありますキーワード。キーワードは、その言語で特定の意味を持つ単語であり、基本APIであっても、APIの特定の意味ではありません。 –
あなたは正しいです、私は編集しました – United121
質問に間違いはありません。タイトルで言語/ランタイムを繰り返す必要はないことに注意してください。これはタグのためです。 –