F# 今日の勉強(パターンマッチ)

F# の復習 今日はパターンマッチに初めて触れました。 C#にもあるけど、F#らしい機能なんだなって感じました。 F# のパターンマッチ これすごいなぁ。C#だとswitch式のパターンマッチが似てるって思ったけど、きっとF#からC#にいった機能なんだよね。 match式 match式はよく使うと思うのでしっかり覚えなきゃなー。 あとはorパターンとかasパターンとかパターンにも種類があるみたいなので、これもしっかり 記憶。 let testFunc param = match param with | 'a' -> 0 | 'b' -> 1 | _ -> -1 let ret = testFunc 'b' printfn "%A" ret function式 簡単にいうとfun式とmatch式の合体らしいです。 functionなしでもifでも作れそうと思ったけど、どうなんやろ?? let testFunc = function | value when value > 0 -> 1 | value when value < 0 -> -1 | _ -> 0 let ret = testFunc 2 printfn "%A" ret レコード C#でいったらclassにあたるのかな? ...

2018-08-22 · 1 分 · 133 文字 · ayumax

F#はじめました

関数型プラグラミング 正直まだよくわかっていません。 どんな場合に選択すればよいのか。 また、どんな利点があるのか。わかっていないのが正直な感想です。 Webを検索すると、「副作用がないロジックがかける」「コードが理解しやすい」「テストがしやすい」とか出てきますが、いまいち本質を捉えていないような気もします。 自分のイメージとしては、「手続き型言語とは全く考え方、使いみちの異なる言語」であって、例え任意の該当するプログラミング文法のいみ覚えても、使えるって事にはならないのかなあと思ってました。 そんな感じの自分には手を出せない領域って感じのモノという印象が大きいです。 F# ずっとC#を使ってきたにも関わらず、恥ずかしながら存在を知ったのは最近でした。 去年参加したCenter CLRの.Net600の勉強会にて初めて知りました。 その時は「.Netで関数型言語がつかえるんだー」と感動して、自分のVSの環境に使える準備はしたものの、それ以降触っておらず今に至っております。 多分触らなかった理由としては、関数型言語を使うには背景にある考え方を理解しないといけないって思っていたことが大きかったのかなあと思います。 参考書 F#をちゃんと勉強したいなあと思って書籍を探していたところ、少し前にでた書籍でしたが前述した.Net600にも登壇されていた荒井さんが書かれた本を見つけ購入してみました。 (ホントはちゃんと新品で買いたかったけど、見つけられず仕方なく中古で) まだ全部読めていませんが、本のタイトルにもあるように入門者向けに書いてくださっているので、今の所ちゃんと頭に入ってきている感じ! 後半にいくと難しくなっていくのかなあと思ったりもしますが、挫折せずに読破するつもりです。 最近はWebで大抵の情報は手に入りますが、個人的には書籍があったほうが集中して情報を頭にいれれるので好きです。 とりあえずやってみる 関数型言語はかなり難しいっていう固定概念が頭を専有していため、なかなか手を出そうとしていませんでしたが、今のままでは永久に使えるようにはならないよなあと思い、とりあえず触ってみる事にしました。 幸いC#はずっと使ってきているので、同じ.Netを使うF#はとっつきやすいと思うし、 やってみないとどんなモノなのかわからないので。 やってみて壁にぶつかったらまたどうするか考えよう!

2018-08-17 · 1 分 · 24 文字 · ayumax