{"blog_url":"https://sirocco.hatenadiary.org/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fsirocco.hatenadiary.org%2Fentry%2F20100401%2F1270086243\" title=\"\u6570\u5b57\u6587\u5b57\u5217\u306b\u30ab\u30f3\u30de\u3092\u5165\u308c\u308b - sirocco \u306e\u66f8\u3044\u3066\u3082\u3059\u3050\u306b\u5fd8\u308c\u308b\u30e1\u30e2\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","type":"rich","description":"\u30ef\u30f3\u30e9\u30a4\u30ca\u30fc\u3063\u307d\u304f\u51fa\u6765\u305f\u3002 Prelude> let addComma numStr = concat $ snd $ foldr (\\x t ->(fst t + 1,(if fst t `mod` 3 == 0 && fst t /= 0 then (x++\",\") else x):snd t)) (0,[]) [[x]|x <-numStr] Prelude> addComma \"1234\" \"1,234\" Prelude> addComma \"123\" \"123\" Prelude> addComma \"1234567890123\" \"1,234,567,890,123\" \u3053\u3063\u3061\u306e\u65b9\u304c\u77ed\u2026","published":"2010-04-01 10:44:03","author_url":"https://blog.hatena.ne.jp/sirocco/","provider_name":"Hatena Blog","author_name":"sirocco","height":"190","provider_url":"https://hatena.blog","blog_title":"sirocco \u306e\u66f8\u3044\u3066\u3082\u3059\u3050\u306b\u5fd8\u308c\u308b\u30e1\u30e2","categories":["Haskell"],"url":"https://sirocco.hatenadiary.org/entry/20100401/1270086243","image_url":null,"width":"100%","title":"\u6570\u5b57\u6587\u5b57\u5217\u306b\u30ab\u30f3\u30de\u3092\u5165\u308c\u308b","version":"1.0"}