{"author_url":"https://blog.hatena.ne.jp/ku-ma-me/","provider_url":"https://hatena.blog","author_name":"ku-ma-me","image_url":null,"version":"1.0","blog_url":"https://mametter.hatenablog.com/","published":"2009-09-03 00:00:00","title":" module \u3063\u3066 super \u3067\u304d\u305f\u3093\u3060","width":"100%","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fmametter.hatenablog.com%2Fentry%2F20090903%2Fp1\" title=\" module \u3063\u3066 super \u3067\u304d\u305f\u3093\u3060 - \u307e\u3081\u3081\u3082\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","categories":["Ruby"],"url":"https://mametter.hatenablog.com/entry/20090903/p1","type":"rich","height":"190","description":"module D def foo p :D end end module C def foo p :C super end include D end module B def foo p :B super end include D end class A def foo p :A super end include C include B end A.new.foo #=> :A, :B, :C, :D :A, :B, :D, :C, :D \u304b\u306a\u3068\u3082\u601d\u3063\u305f\u3051\u3069\u9055\u3063\u305f\u3002\u3053\u308c\u3063\u3066\u591a\u91cd\u7d99\u627f\u3068\u4f55\u304b\u9055\u3046\u3093\u304b\u306a\u3002\u305d\u3082\u305d\u3082\u83f1\u5f62\u7d99\u627f\u554f\u984c\u306e\u4f55\u304c\u554f\u984c\u306a\u306e\u304b\u308f\u304b\u3063\u3066\u306a\u3044\u3002","provider_name":"Hatena Blog","blog_title":"\u307e\u3081\u3081\u3082"}