ウェブ上でいくつかのkotlinの例を見て、次のことを見て、私は正確にそれが何をしているのか理解できません。何が(x..x).map do in kotlin android
(0..6).map{ inflater.inflate(R.layout.test, container) }
私はそれを容器にR.layout.testを膨張範囲だ知っているが、「.MAP」のポイントは何ですか?
for (i in 0..6)
とはちょうど異なる方法ですか?
ウェブ上でいくつかのkotlinの例を見て、次のことを見て、私は正確にそれが何をしているのか理解できません。何が(x..x).map do in kotlin android
(0..6).map{ inflater.inflate(R.layout.test, container) }
私はそれを容器にR.layout.testを膨張範囲だ知っているが、「.MAP」のポイントは何ですか?
for (i in 0..6)
とはちょうど異なる方法ですか?
リンクされたコードでは、これはちょっと違ったことであり、何かアクションを繰り返すのは慣れないものです。
変換の結果はつもり使用されていない場合は、1つは、代わりにmap
機能の以下のアプローチを使用することができます。
// for loop
for (n in 0..6) inflater.inflate(R.layout.test, container)
// forEach extension
(0..6).forEach { inflater.inflate(R.layout.test, container) }
// repeat function
repeat(7) { inflater.inflate(R.layout.test, container) }
map
は、入力を出力に変換します。 Kotlinはそれが唯一のものであれば、引数を推論できるので、it
と呼ばれます。だからあなたのコードは、これと同等です:
(0..6).map{ it => inflater.inflate(R.layout.test, container) }
あなたはit
引数を使用していないことがわかりますとにかく
ですからから膨張(0〜6)7つのビューのリストを持っていることをやった後、 R.layout.test
あなたはそれがLambda
式ですdocumentation
私は説明をありがとう、参照してください。 – DarkSpikeX
にmap
についての詳細を見つけることができます。 R.layout.testを膨らませて、このビューをコンテナに追加してください。あなたが参照している例はGridView
であり、このビューをコンテナに7回追加する必要があります。つまり、ここで何をしているのですか(1..6)。
それは 'レイアウト/のtest.xmlから' View'sのリストを返します。 ' –
あなたはこれを見つけたリンクを共有してください。 – Charu
@Charu https://github.com/SimpleMobileTools/Simple-Calendar/blob/master/app/src/main/kotlin/com/simplemobiletools/calendar/fragments/WeekFragment .kt 82行目、inflater.inflate行を小さく変更しました。 – DarkSpikeX