Intellij idea 封闭lambda的隐式参数为阴影 val listPlans:List=newPlans.mapTry{ it.data.map{ 计划(it.id、it.name、it.phone、it.desc、it.email) }托利斯先生() }
Kotlin newbie编写代码和IntelliJ在Intellij idea 封闭lambda的隐式参数为阴影 val listPlans:List=newPlans.mapTry{ it.data.map{ 计划(it.id、it.name、it.phone、it.desc、it.email) }托利斯先生() },intellij-idea,kotlin,lambda,Intellij Idea,Kotlin,Lambda,Kotlin newbie编写代码和IntelliJ在计划中高亮显示它(it.id、it.name、it.phone、it.desc、it.email),并表示封闭lambda的隐式参数被隐藏 可以保持原样吗?如果没有,我可以用什么替换它?您有嵌套的lambda,因此“it”将表示最内层lambda的隐式参数。此警告主要用于可读性目的,并避免混淆,因为随着嵌套的lambda越多,“it”的含义就越不清楚。我建议您为嵌套lambda显式指定lambda参数: val listPlans: List
计划中高亮显示它(it.id、it.name、it.phone、it.desc、it.email)
,并表示封闭lambda的隐式参数被隐藏
可以保持原样吗?如果没有,我可以用什么替换它?您有嵌套的lambda,因此“it”将表示最内层lambda的隐式参数。此警告主要用于可读性目的,并避免混淆,因为随着嵌套的lambda越多,“it”的含义就越不清楚。我建议您为嵌套lambda显式指定lambda参数:
val listPlans: List<Plan> = newPlans.mapTry {
it.data.map {
Plan(it.id, it.name, it.phone, it.desc, it.email)
}.toList()
}
val listPlans:List=newPlans.mapTry{plan->
plan.data.map{
计划(it.id、it.name、it.phone、it.desc、it.email)
}托利斯先生()
}
或
val listPlans:List=newPlans.mapTry{
it.data.map{planData->
计划(planData.id、planData.name、planData.phone、planData.desc、planData.email)
}托利斯先生()
}
或两者兼而有之:
val listPlans: List<Plan> = newPlans.mapTry {
it.data.map { planData ->
Plan(planData.id, planData.name, planData.phone, planData.desc, planData.email)
}.toList()
}
val listPlans:List=newPlans.mapTry{plan->
plan.data.map{planData->
计划(planData.id、planData.name、planData.phone、planData.desc、planData.email)
}托利斯先生()
}
值得指出的是,这是kotlinlang链接有趣的原因之一,大部分讨论是在5年前,Kotlin 1.0发布之前;JetBrains似乎不太可能认真考虑过删除它,现在他们几乎肯定不会这么做。
val listPlans: List<Plan> = newPlans.mapTry {
it.data.map { planData ->
Plan(planData.id, planData.name, planData.phone, planData.desc, planData.email)
}.toList()
}
val listPlans: List<Plan> = newPlans.mapTry { plan ->
plan.data.map { planData ->
Plan(planData.id, planData.name, planData.phone, planData.desc, planData.email)
}.toList()
}