- 28 名前:デフォルトの名無しさん [2017/02/12(日) 04:49:45.47 ID:eJbIlXCt.net]
- >>21
書き直してみた もはや最速DSLっぽい何かに… let if_true_then flist x = let bind z f = match z |> fst |> f with |(false, _) -> z |(true, y) -> (fst z, y) List.fold bind (x, string x) flist |> snd let Fizz x = (x%3=0, "Fizz") let Buzz x = (x%5=0, "Buzz") let FizzBuzz x = (x%15=0, "FizzBuzz") [1..50] |> List.map (if_true_then [Fizz; Buzz; FizzBuzz]) |> List.iter (fun x -> printfn "%s" x)
|

|