[表示 : 全て 最新50 1-99 101- 2ch.scのread.cgiへ]
Update time : 02/14 16:21 / Filesize : 55 KB / Number-of Response : 178
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代



21 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 02:57:51.45 ID:oncvvJ9K.net]
剰余演算を全く使わないFizzBuzzがあったような…こうだっけ
import Data.List (zipWith3)
import Data.Monoid
data FizzBuzz = None | Fizz | Buzz | FizzBuzz | Number Int
  deriving (Eq, Show)
instance Monoid FizzBuzz where
  mempty = error "something wrong"
  None `mappend` None = None
  None `mappend` Buzz = Buzz
  None `mappend` Number n = Number n
  Fizz `mappend` Buzz = FizzBuzz
  Fizz `mappend` _ = Fizz
  Buzz `mappend` _ = Buzz
  FizzBuzz `mappend` _ = FizzBuzz
  _ `mappend` _ = mempty
toString :: FizzBuzz -> String
toString (Number n) = show n
toString fb = show fb
lis = zipWith3 (\x y z -> x <> y <> z)
               (cycle [ None, None, Fizz ])
               (cycle [ None, None, None, None, Buzz ])
               [Number n | n <- [1..]]
main = mapM_ (putStrLn . toString) $ take 100 lis






[ 続きを読む ] / [ 携帯版 ]

全部読む 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<55KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef