我想用两个整数来写when语句,我试着这样做:
when
when(row && column) { in 0..2 -> end = true; else -> { end = false; println("Invalid move!") } }
但是它不起作用,有什么方法可以做到吗?,显然有很多其他的方法可以做到,但是我希望我的代码清晰可读,这将是非常有帮助的。
wooyq4lh1#
为什么不按常规做呢?
when { row in 0..2 && column in 0..2-> end = true; else -> { end = false; println("Invalid move!") } }
z4iuyo4d2#
不,这是不可能的。尤其是,int && int是无效语法。或者,您可以将此代码表示为:
int && int
end = if (setOf(row, column).all { it in 0..2 }) true else false.also { println("Invalid move!") }
我不太喜欢用when来代替if,但这是一个品味的问题。
if
l3zydbqr3#
我相信你可以这样做:
when (row) { in 0..2 -> if (column in 0..2) end = true else -> { end = false println("Invalid move!") } }
3条答案
按热度按时间wooyq4lh1#
为什么不按常规做呢?
z4iuyo4d2#
不,这是不可能的。尤其是,
int && int
是无效语法。或者,您可以将此代码表示为:
我不太喜欢用
when
来代替if
,但这是一个品味的问题。l3zydbqr3#
我相信你可以这样做: