{"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fayato.hateblo.jp%2Fentry%2F20150416%2F1429140406\" title=\"\u4f55\u6545 do \u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u304c\u30b0\u30eb\u30fc\u30d4\u30f3\u30b0\u3059\u308b\u306e\u306b\u5fc5\u8981\u306a\u306e\uff1f - (define -ayalog &#39;())\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","provider_name":"Hatena Blog","author_url":"https://blog.hatena.ne.jp/ayato0211/","version":"1.0","width":"100%","author_name":"ayato0211","description":"Clojure - why is the \"do\" statement necessary for grouping?\u307e\u3041\u305d\u3046\u306a\u308b\u3088\u306d\u3001\u3068\u3044\u3046\u4f8b\u3002 (defn x [] (if true (do (println \"a\") (println \"b\")))) => (x) a b nil do \u3092\u4f7f\u3048\u3070\u6b63\u5e38\u306b\u52d5\u304f\u3051\u3069\u3001 do \u3092\u629c\u304b\u3059\u3068\u2026 (defn x [] (if true ((println \"a\") (println \"b\")))) => (x) a b NullPointerException user/x (NO_SOURCE_FILE:3) NPE \u306b\u306a\u308b\u3002\u306a\u3093\u3067?\u3068\u3044\u3046\u8a71\u3002\u56de\u7b54\u306b\u2026","type":"rich","published":"2015-04-16 08:26:46","url":"https://ayato.hateblo.jp/entry/20150416/1429140406","blog_title":"(define -ayalog '())","title":"\u4f55\u6545 do \u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u304c\u30b0\u30eb\u30fc\u30d4\u30f3\u30b0\u3059\u308b\u306e\u306b\u5fc5\u8981\u306a\u306e\uff1f","image_url":null,"blog_url":"https://ayato.hateblo.jp/","height":"190","provider_url":"https://hatena.blog","categories":["Clojure","stackoverflow"]}