所以我想用两个整数来表达这个.我试着这样做:
when(row && column) {
in 0..2 -> end = true;
else -> {
end = false;
println("Invalid move!")
}
}
Run Code Online (Sandbox Code Playgroud)
但它没有用.有没有办法做到这一点?显然有许多其他方法可以做到这一点,但我希望我的代码清晰可读,这对完成它非常有帮助.
不,这是不可能的.特别是,int && int没有有效的语法.
或者,您可以像这样表达此代码:
end = if (setOf(row, column).all { it in 0..2 })
true
else
false.also { println("Invalid move!") }
Run Code Online (Sandbox Code Playgroud)
我不是取代的大风扇if与when这样的基本情况,但是这是口味的问题.
为什么不采用这种方式呢?
when {
row in 0..2 && column in 0..2-> end = true;
else -> {
end = false;
println("Invalid move!")
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
768 次 |
| 最近记录: |