昨天我突然被启发并理解了人们如何以及为什么使用带有 Option 的“map”方法来比较值。是的,我有点慢,对不起:)
我修改了这些非常好的链接并提出了我想问的问题。
http://twitter.github.com/effectivescala
http://blog.tmorris.net/posts/scalaoption-cheat-sheet
在我的 Lift webapp 中,我有一些 Option[User] 和 Option[Server] 变量。我正在尝试通过以下检查确定此用户是否是此服务器的管理员
if(user.map(_.id) == server.map(_.adminId))
但我注意到,如果“用户”为“无”且“服务器”也为“无”,则此检查成功,这对我不利(如果其中任何一个为“无”,我希望此检查失败)。我可以添加 user.isDefined 条件,但我觉得有更正确的方法可以做到这一点。你能告诉如何用 Scala 方式完成它吗?