エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
ScalaのOptionのよいところは、仕様を正確に記述できて、仕様違反の検出をしてくれる上に、プログラミン... ScalaのOptionのよいところは、仕様を正確に記述できて、仕様違反の検出をしてくれる上に、プログラミングが楽になるというおまけがついているところである。一般的には正確な仕様記述とプログラミング効率は相反することが多いので、この要因が両立するというのはかなりうれしいことだ。 クラスPersonのメソッドaddressの実装は、OptionとListとforを使って無理なく1行に収まっているけど、関数型言語の技を使わないとこの分量ではすまない。このあたりも面白いので少し細かく説明したいところだけど、今回はポイントだけ。 addressメソッドのポイントは、Option[String]のListに対してfor文で「Some(s)」という受け取り方をすることで、以下の処理を簡潔に記述できるところにある。 Noneを削除する Some(s)からsを取り出す「Some(s)」によるパターンマッチ