-1
我有一個when expression看起來是這樣的:如何引用when表達式的未命名參數?
when(foo.toString()){
"" ->'A'
"HELLO" ->'B'
"GOODBYE"->'C'
else ->foo.toString()[0]//problematic method call duplication
}
現在,我不想叫foo.toString()
兩次,但我也希望這仍然是一個單一的表達。有沒有一種方便的方法可以讓我訪問我傳入else表達式中的值,例如語言中其他地方找到的it
或[email protected]
語法?
我目前使用以下解決方法:
with(foo.toString()){
when(this){
"" ->'A'
"HELLO" ->'B'
"GOODBYE"->'C'
else ->this[0]
}
}
但這引入了另一個塊,比我想的可讀性。 有更好的解決方案嗎?
的可能的複製[科特林當()的局部變量介紹](https://stackoverflow.com/questions/43102797/kotlin-when-local-variable-introduction) – zsmb13