{"description":"\u6628\u65e5\u4fbf\u4e57\u3057\u3066\u66f8\u3044\u305f\u306e\u306fGroovy\u3067\u4eca\u65e5\u66f8\u3044\u3066\u307f\u305f\u306e\u306fScala\u306e\u5834\u5408\u306e\u3058\u3083\u3093\u3051\u3093\u3002 \u307e\u3068\u3082\u306bScala\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u66f8\u3044\u305f\u306e\u306f\u5b9f\u306f\u3053\u308c\u304c\u306f\u3058\u3081\u3066\u2026 trait Result { def \u3067(expected: Result):Unit = { val self = this assert(self == expected) } } object Result { case object \u52dd\u3061 extends Result case object \u3042\u3044\u3053 extends Result case object \u8ca0\u3051 extends Result } trait \u3058\u3083\u3093\u3051\u3093 { def \u76f8\u624b(ot\u2026","author_url":"https://blog.hatena.ne.jp/mike_neck/","width":"100%","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fmike-neck.hatenadiary.com%2Fentry%2F2014%2F12%2F28%2F154207\" title=\"\u306a\u3093\u304bJava\u306e\u4eba\u305f\u3061\u3067\u3058\u3083\u3093\u3051\u3093\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u6d41\u884c\u3063\u3066\u308b\u306e\u3067\u3001\u4fbf\u4e57\u3057\u3066\u66f8\u3044\u3066\u307f\u305f Scala\u7de8 - mike-neck\u306e\u30d6\u30ed\u30b0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","title":"\u306a\u3093\u304bJava\u306e\u4eba\u305f\u3061\u3067\u3058\u3083\u3093\u3051\u3093\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u6d41\u884c\u3063\u3066\u308b\u306e\u3067\u3001\u4fbf\u4e57\u3057\u3066\u66f8\u3044\u3066\u307f\u305f Scala\u7de8","provider_url":"https://hatena.blog","type":"rich","published":"2014-12-28 15:42:07","provider_name":"Hatena Blog","height":"190","blog_title":"mike-neck\u306e\u30d6\u30ed\u30b0","blog_url":"https://mike-neck.hatenadiary.com/","url":"https://mike-neck.hatenadiary.com/entry/2014/12/28/154207","author_name":"mike_neck","image_url":null,"version":"1.0","categories":[]}