次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代at TECH
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代 - 暇つぶし2ch11:デフォルトの名無しさん
17/02/12 02:03:25.90 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")


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch