F#

どう書く? - 文字列に含まれる単語の最初の文字を大文字にする

F#

文字列に含まれる単語の最初の文字を大文字にする - どう書く? org正規表現使うのがスマートなやり方なんでしょうが、使ってません。 open System.Text; open System.Globalization; let toTitleCase str = CultureInfo.CurrentCulture.TextInfo.ToTitleCase…

どう書く? - 条件を満たす行を取り除く

F#

条件を満たす行を取り除く - どう書く? org最近覚えたアクティブパターンを半ば無理やり使ってみました。 open System.IO; open System.Text.RegularExpressions let (|IsMatch|_|) (str : string) = let regex = new Regex(@"^#.+") if regex.IsMatch(str) …

測定単位の使い道

F#

これは便利そうだなと思ったけど、 測定単位の活躍どころが思いつきませんでした。 特徴としては 値に意味を持たせることができる。 同じ単位同士以外の演算できない。 かな。これらががっちりはまりそうなところといえば。。。?

どう書く? - リストを逆順に表示

F#

リストを逆順に表示 - どう書く? orgList.revを使わないように考えてみました。 let reverse lst = let rec _reverse _lst = match _lst with | [] -> _lst | hd::tl -> _reverse(tl)@[hd] _reverse lst [<EntryPoint>] let main(args : string[]) = //Listモジュール使</entrypoint>…

どう書く? - 隣り合う二項の差

F#

隣り合う二項の差- どう書く? org これはひどい。関数プログラミングらしく考えられませんでした。。。。 let Diff (xs : int list) = let mutable result = [] for i=1 to xs.Length-1 do result <- ((xs.[i]-xs.[i-1])::result) List.rev result [<EntryPoint>] let ma</entrypoint>…

どう書く? - ピラミッド作成

F#

ピラミッドを作る - どう書く? org、与えられた文字列でピラミッド - どう書く? org をF#で考えてみました。 module Pyramid1 = //http://ja.doukaku.org/8/ let Pyramid (stageCount : int) = for i=1 to stageCount do Array.create (stageCount - i) " " …

どう書く? - 与えられた数字のケタ数

F#

与えられた数字のケタ数 - どう書く? org をF#で考えてみました。 open System [<EntryPoint>] let main(args : string[]) = let ParseNumber num = let rec _parse _n (a,b) = if _n > 0 then _parse (_n / 10) (a+1,b*10) else (a,b/10) let ret = _parse num (0,1) pr</entrypoint>…

どう書く? - 九九の表示

F#

九九の表示- どう書く? org をF#で考えてみました。 F#書式設定は慣れませんねぇ、、結局Formatメソッド使いましたよ。 open System [<EntryPoint>] let main(args : string[]) = for i in 1 .. 9 do ignore(List.map (fun n -> printfn "%s" (System.String.Format("{0}</entrypoint>…

どう書く? - バイナリクロック

F#

バイナリクロック- どう書く? org をF#で考えてみました。 張り切りすぎて多少余計な機能が実装されています。。。 これを実行すると、現在時刻を表示します。 open System module BinaryClock = type BinChar = {Zero : string; One : string } let Convert…

エフシャープを学ぶ

F#

オライリーのEBookストアで、書籍より700円程安く電子書籍が買えるのを見つけ、試しにF#本を購入(決済方法はPayPalのみ)したことがきっかけで、勉強するようになりました。 関数プログラミング言語は慣れていないので、はじめは理解するのに苦労しました。現…

アレイのuniq

F#

アレイのuniq - どう書く? org をf#で考えてみました。 本当は投稿したかったのですが、ユーザー登録時にエラーが発生するのであきらめました。 module UniqArray = let Make (list : int list) = let AddListIfUniqItem (uList : int list) item = match Li…