- 11 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 02:03:25.90 ID:eJbIlXCt.net]
- F#で関数型っぽく?FizzBuzz
let Fizz x = (x%3=0, "Fizz") let Buzz x = (x%5=0, "Buzz") let FizzBuzz x = (x%15=0, "FizzBuzz") let compose flist x = let bind z f = match z |> fst |> f with |(false, _) -> z |(true, y) -> (fst z, y) List.fold bind x flist let transformer = compose [Fizz; Buzz; FizzBuzz] [1..50] |> List.map (fun x -> (x, string x)) |> List.map transformer |> List.map (fun x -> x |> snd |> printfn "%s")
|

|