【发布时间】:2018-01-23 19:44:18
【问题描述】:
假设我有一个带有签名proc foo(): Option[int] 的函数,我设置了var x: Option[int] = foo()。
如何根据x 是some 还是none 执行不同的操作?
例如在 Scala 中我可以这样做:
x match {
case Some(a) => println(s"Your number is $a")
case None => println("You don't have a number")
}
甚至:
println(x.map(y => s"Your number is $y").getOrElse("You don't have a number"))
到目前为止,我想出了:
if x.isSome():
echo("Your number is ", x.get())
else:
echo("You don't have a number")
这看起来不像是好的功能风格。有更好的吗?
【问题讨论】:
标签: functional-programming optional nim-lang