{"categories":["Swift"],"url":"https://giarrium.hatenablog.com/entry/2021/09/07/214637","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgiarrium.hatenablog.com%2Fentry%2F2021%2F09%2F07%2F214637\" title=\"84\u65e5\u76ee  - \u305c\u306e\u305c\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","height":"190","provider_url":"https://hatena.blog","blog_title":"\u305c\u306e\u305c","type":"rich","author_url":"https://blog.hatena.ne.jp/gurrium/","blog_url":"https://giarrium.hatenablog.com/","version":"1.0","description":"\u65e5\u8a18 \u307f\u304b\u3093\u3092\u8cb7\u3063\u305f\u306e\u3067\u4eca\u304b\u3089\u98df\u3079\u308b\uff0e \u4eca\u65e5\u66f8\u3044\u305f\u30b3\u30fc\u30c9 class HTMLElement { let name: String let text: String? lazy var asHTML: () -> String = { [unowned unownedSelf = self, unowned elem = HTMLElement(name: \"h3\")] in if let text = unownedSelf.text { return \"<\\(unownedSelf.name)>\\(text)</\\(unownedSelf.name)>\" } else { return \"\u2026","image_url":null,"published":"2021-09-07 21:46:37","author_name":"gurrium","provider_name":"Hatena Blog","width":"100%","title":"84\u65e5\u76ee "}