如何在kotlin中将每个项目存储在不同的变量中并将其逐个传递给下一个函数?

时间:2019-07-11 12:45:23

标签: gradle kotlin gradle-kotlin-dsl

有什么方法可以将元素列表存储在不同的变量中并将其传递给 其他功能,例如

我有一个清单

val test = "a,b,c,d,e,f"

现在想将每个元素存储在类似的变量中

test[0] = a
test[1] = b
test[2] = c
test[3] = d
test[4] = e
test[5] = f

最后将其传递给下一个函数

testprint(test[0])

fun testprint(test: String){
    println(Hello $test)
}

实际问题在下面,所以我正在寻找上面的解决方案来解决

   itemsList = "abc,def"

      Type.Normal -> {
           findProperty("itemsList")?.let {
            it.toString().split(",").forEach { module ->
              tasks.withType<SomeKotlinTagTask>().configureEach {
                tag.set("$module ${project.versions.testVersion}")
                tag.set(repo.branch)
            }
          }
        }
      }

当类型为正常时,此函数将调用并从项目列表中逐一取出项目并执行任务。问题是它正在取出最后一个项目并对所有存储库执行标签工作,而不是依次处理所有项目。如果我在

内打印模块变量
`tasks.withType<SomeKotlinTask>.configureEach{ println(module)}`

它给了我下面的价值

abc
def
abc
def
abc
def
abc
def
abc
def
abc
def
abc
def

我需要以某种方式为项目列表中的每个模块创建此标记任务,以便它可以使用项目任务中配置的项目列表中的每个模块标记所有存储库

1 个答案:

答案 0 :(得分:0)

您想要类似的东西吗?

  val test = "a,b,c,d,e,f"
  test.split(",").map { testprint(it) }

还是?

            val split = test.split(",")

            var a = split[0]
            var b = split[1]
            var c = split[2]
            var d = split[3]
            var e = split[4]
            var f = split[5]

            testprint(f)