昨日、私は突然啓発され、人々が値を比較するために Option を使用して「マップ」メソッドを使用する方法と理由を理解しました。はい、私は少し遅いです、ごめんなさい:)
私はこれらの非常に素晴らしいリンクを修正し、私が尋ねたい質問に行き着きました。
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の方法でそれを達成する方法を教えていただけますか?