{"provider_name":"Hatena Blog","width":"100%","version":"1.0","type":"rich","url":"https://haru-s.hatenablog.com/entry/20090613/1244921847","height":"190","author_name":"haru-s","image_url":null,"provider_url":"https://hatena.blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fharu-s.hatenablog.com%2Fentry%2F20090613%2F1244921847\" title=\"std.range.chain\u304c\u8fd4\u3059Range\u306e\u8981\u7d20\u578b - ...ing logging 4.0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","author_url":"https://blog.hatena.ne.jp/haru-s/","categories":["D\u8a00\u8a9e"],"blog_url":"https://haru-s.hatenablog.com/","published":"2009-06-13 04:37:27","title":"std.range.chain\u304c\u8fd4\u3059Range\u306e\u8981\u7d20\u578b","description":"import std.stdio; import std.algorithm; import std.range; void main() { f(chain(\"a\".dup, \"b\")); // int } void f(Range)(Range r) { writeln(typeid(ElementType!(Range))); } int\u3063\u3066\u306a\u3093\u3084\u306d\u3093 (\u00b4\uff65\u03c9\uff65`)","blog_title":"...ing logging 4.0"}