オプションモナドはどのように機能するのですか?私はscalaapiを閲覧していますが、例があります(つまり、2番目のものです)。
理解のための方法のため、request.getParameterからNoneが返された場合、式全体がNoneになります。
しかし、私がこのコードを試してみると:
val upper = for {
name <- None //request.getParameter("name")
trimmed <- Some(name.trim)
upper <- Some(trimmed.toUpperCase) if trimmed.length != 0
} yield upper
println(upper.getOrElse(""))
コンパイルエラーが発生します。これはどのように機能するはずですか?