Scala ifNotPresent 简洁形式
Scala ifNotPresent concise form
我有以下合集:
private val commandChain: mutable.Buffer[mutable.Buffer[Long]] = ArrayBuffer()
我需要做以下事情:
def :->(command: Long) = {
commandChain.headOption match {
case Some(node) => node += command
case None => commandChain += ArrayBuffer(command)
}
}
有比模式匹配更简洁的形式吗?
您可以使用简单的 if
...else
语句。没有模式匹配,也没有 Option
展开。
def :->(command: Long): Unit =
if (commandChain.isEmpty) commandChain += ArrayBuffer(command)
else commandChain.head += command
顺便说一句,与大多数惯用的(即 "good")Scala 相比,这是更加可变的数据结构和副作用。
我有以下合集:
private val commandChain: mutable.Buffer[mutable.Buffer[Long]] = ArrayBuffer()
我需要做以下事情:
def :->(command: Long) = {
commandChain.headOption match {
case Some(node) => node += command
case None => commandChain += ArrayBuffer(command)
}
}
有比模式匹配更简洁的形式吗?
您可以使用简单的 if
...else
语句。没有模式匹配,也没有 Option
展开。
def :->(command: Long): Unit =
if (commandChain.isEmpty) commandChain += ArrayBuffer(command)
else commandChain.head += command
顺便说一句,与大多数惯用的(即 "good")Scala 相比,这是更加可变的数据结构和副作用。