自分がやってみて分からなかったことをまとめていく技術系日記です。あれなんだっけのループになってて、流石にちゃんとやろうと思って、Catsをいじってたらすんなり理解できた!(いや実は間違えれるのかもしれない?)頭の中の整理の意味も込めて簡単にアウトプット!目次はじめにOptionTKleisliまとめはじめにCatsとはScalaで関数型プログラミングを簡単にやる事ができるライブラリ関数型プログラミングとは副作用をできる限り局所化するプログラム方法だと僕は思う。試験時と本番時で使用するデーターベースが違うみたいな事がある。実際に使用する際に、試験用か本番用のデータベースを指定する。やって副作用を分離する事で、コードの変更箇所が少なかったり、バクがおきているところの特定が早くなったりする。Catsには多くの機能があるので今回はOptionTKleisliを使った際のことを書こうと思う。OptionTFuture[Option[String]]みたいないくつもの層になっている時に役に立つのがOptionTである。下のコードを見てもらうとわかるが、最下層に変更を加えようとすると、mapなどを多用しないといけなくなる。Future(Some("BambooTuna"))mapの使用を一つ減らす事ができた!ただのOptionの操作と同じ感覚で、Futureに包まれているOptionの操作を行う事ができる。Null許可があるデーターベースからデータを取得する際に使えそう。以下の3つは全て同じものとなる。操作する際に便利なだけではなく、生成時も便利なメソッドが用意されている。B]実行する際にAを渡す事で、結果としてF{B}が返ってくる。結果としてFuture{String}が返ってくる。Future[String]試験か開発のどちらのデーターベースを使うかと言うことと、処理の流れがしっかり分かれている事がわかる!まとめOptionTを使う事で、包まれているOptionをあたかも包まれていない、ただのOptionとして操作する事ができる。Kleisliを使う事で処理の流れと副作用を分離でき、関数型プログラミングが簡単にできる。WebSocketServerを立てようとしたときにかなり時間かかったので記事にしました。いうのはエラー出ます。'code=...Scala【Scala】コード上で標準入力・出力のテストを実行したいScalaで標準入力をモックスして、出力のテストをしたいScala【Scala】ScalaMatsuri2019に申し込んだよScalaMatsuri2019に行くよ!時間がかぶっているものもあるので、自分が気になる・聞きたい発表を整理することで、当日スムーズに行動できればと思ってまとめた。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。BambooTuna.ホームプロフィールお問い合わせタイトルとURLをコピーしました。