﻿{"id":898,"date":"2013-05-01T21:02:39","date_gmt":"2013-05-01T12:02:39","guid":{"rendered":"http:\/\/yucchi.jp\/blog\/?p=898"},"modified":"2013-05-01T21:04:31","modified_gmt":"2013-05-01T12:04:31","slug":"%e3%82%82%e3%81%a3%e3%81%a8-lambda-%e3%81%9d%e3%81%ae%ef%bc%96","status":"publish","type":"post","link":"http:\/\/yucchi.jp\/blog\/?p=898","title":{"rendered":"\u3082\u3063\u3068 Lambda \u305d\u306e\uff16"},"content":{"rendered":"<p>\u4eca\u65e5\u306f\u3068\u3066\u3082\u611f\u52d5\u3057\u305f\u8a18\u4e8b\u304c\u3042\u3063\u305f\u306e\u3067\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<p>\u306a\u3093\u3068\u65e5\u672c\u8a9e\u3067\u3059\uff01<\/p>\n<p><a href=\"http:\/\/d.hatena.ne.jp\/nowokay\/20130501#1367357873\" target=\"_blank\"><font size=\"5\"><strong>Java 8\u3092\u95a2\u6570\u578b\u3063\u307d\u304f\u4f7f\u3046\u305f\u3081\u306e\u304a\u307e\u3058\u306a\u3044<\/strong><\/font><\/a><\/p>\n<p>\u3061\u3087\u3063\u3068\u304a\u307e\u3058\u306a\u3044\u306e\u90e8\u5206\u306f\u79c1\u306b\u3068\u3063\u3066\u306f\u546a\u3044\u306e\u546a\u6587\u306e\u3088\u3046\u306b\u3082\u3068\u308c\u307e\u3057\u305f\u3002(&gt;_&lt;\uff61)<\/p>\n<p>\u3053\u306e\u8a18\u4e8b\u306e\u4e2d\u3067\u30ab\u30ea\u30fc\u5316\u3068\u3044\u3046\u6280\u6cd5\u304c\u7d39\u4ecb\u3055\u308c\u3066\u307e\u3057\u305f\u3002<\/p>\n<p>\u79c1\u306f\u3053\u306e\u6280\u6cd5\u306f\u521d\u3081\u3066\u306a\u306e\u3067\u5c11\u3057\u8abf\u3079\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>Wikipedia \u3067\u306f\u6b21\u306e\u3088\u3046\u306b\u89e3\u8aac\u3055\u308c\u3066\u307e\u3057\u305f\u3002<\/p>\n<p><strong><font color=\"#0000ff\" size=\"3\">\u30ab\u30ea\u30fc\u5316 (currying) \u3068\u306f\u3001\u8a08\u7b97\u6a5f\u79d1\u5b66\u5206\u91ce\u306e\u6280\u6cd5\u306e\u4e00\u3064\u3002\u8907\u6570\u306e\u5f15\u6570\u3092\u3068\u308b\u95a2\u6570\u3092\u3001\u5f15\u6570\u304c\u300c\u3082\u3068\u306e\u95a2\u6570\u306e\u6700\u521d\u306e\u5f15\u6570\u300d\u3067\u623b\u308a\u5024\u304c\u300c\u3082\u3068\u306e\u95a2\u6570\u306e\u6b8b\u308a\u306e\u5f15\u6570\u3092\u53d6\u308a\u7d50\u679c\u3092\u8fd4\u3059\u95a2\u6570\u300d\u3067\u3042\u308b\u3088\u3046\u306a\u95a2\u6570\u306b\u3059\u308b\u3053\u3068\u3002<\/font><\/strong><\/p>\n<p><strong><font color=\"#0000ff\" size=\"3\">\u3053\u306e\u6280\u6cd5\u306f\u3001\u30af\u30ea\u30b9\u30c8\u30d5\u30a1\u30fc\u30fb\u30b9\u30c8\u30ec\u30a4\u30c1\u30fc\u306b\u3088\u308a\u8ad6\u7406\u5b66\u8005\u30cf\u30b9\u30b1\u30eb\u30fb\u30ab\u30ea\u30fc\u306b\u56e0\u3093\u3067\u540d\u4ed8\u3051\u3089\u308c\u305f\u304c\u3001\u5b9f\u969b\u306b\u8003\u6848\u3057\u305f\u306e\u306f Moses Sch\u00f6nfinkel \u3068\u30b4\u30c3\u30c8\u30ed\u30fc\u30d7\u30fb\u30d5\u30ec\u30fc\u30b2\u3067\u3042\u308b\u3002<\/font><\/strong><\/p>\n<p><strong><font color=\"#0000ff\" size=\"3\">f( a, b ) = c \u3068\u3044\u3046\u95a2\u6570 f \u304c\u3042\u308b\u3068\u304d\u306b\u3001F( a ) = g \u305f\u3060\u3057\u3001g( b ) = c \u3068\u3044\u3046\u95a2\u6570 g \u304c\u5f97\u3089\u308c\u308b\u95a2\u6570 F \u3092\u5b9a\u7fa9\u3057\u305f\u5834\u5408\u3001F \u306f\u3001f \u3092\u30ab\u30ea\u30fc\u5316\u3057\u305f\u3082\u306e\u3067\u3042\u308b\u3002<\/font><\/strong><\/p>\n<p>\u3068\u3044\u3053\u3068\u3067\u81ea\u5206\u3067\u3082\u8a66\u3057\u3066\u307f\u305f\u304f\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u6c7a\u3057\u3066\u7591\u3063\u3066\u308b\u8a33\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u65b0\u3057\u3044\u672a\u77e5\u306a\u308b\u3082\u306e\u3078\u306e\u3042\u304f\u306a\u304d\u597d\u5947\u5fc3\u304b\u3089\u3067\u3059\u3002<\/p>\n<p>\u3064\u3044\u3067\u306b\u3001\u7518\u3048\u3068\u8a00\u3063\u3066\u3044\u305f\u90e8\u5206\u3082\u81ea\u5206\u306a\u308a\u306b\u8003\u3048\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\u3044\u3064\u3082\u306e\u3088\u3046\u306b\u672a\u719f\u306a\u30b3\u30fc\u30c9\u3067\u3059\u304c\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u7d44\u3093\u3067\u307f\u307e\u3057\u305f\u3002<\/p>\n<pre title=\"JavaCurry.java\">\r\n\r\npackage jp.yucchi.javacurry;\r\n\r\nimport java.util.function.Function;\r\nimport java.util.function.BiFunction;\r\n\r\npublic class JavaCurry {\r\n\r\n    public static void main(String[] args) {\r\n\r\n        Function<String, Function<String, String>> house = java -> curry -> java + curry;\r\n        System.out.println(house.apply(\"\u30b8\u30e3\u30ef\").apply(\"\u30ab\u30ec\u30fc\"));\r\n\r\n        BiFunction<String, String, String> h = (java, curry) -> java + curry;\r\n        System.out.println(h.apply(\"\u30b8\u30e3\u30ef\", \"\u30ab\u30ec\u30fc\"));\r\n        \r\n        Function<String, Function<String, Function<String, String>>> house2 = java -> curry -> level -> java + curry + level;\r\n        System.out.println(house2.apply(\"\u30b8\u30e3\u30ef\").apply(\"\u30ab\u30ec\u30fc\").apply(\"\u7518\u53e3\"));\r\n        \r\n        Function<String,BiFunction<String, String, String>> h2 = java -> (curry, level) -> java +curry + level;\r\n        System.out.println(h2.apply(\"\u30b8\u30e3\u30ef\").apply(\"\u30ab\u30ec\u30fc\",\"\u8f9b\u53e3\"));\r\n    }\r\n}\r\n<\/pre>\n<p>\u5b9f\u884c\u7d50\u679c\u306f\u671f\u5f85\u901a\u308a\u306b\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u30b8\u30e3\u30ef\u30ab\u30ec\u30fc<br \/>\u30b8\u30e3\u30ef\u30ab\u30ec\u30fc<br \/>\u30b8\u30e3\u30ef\u30ab\u30ec\u30fc\u7518\u53e3<br \/>\u30b8\u30e3\u30ef\u30ab\u30ec\u30fc\u8f9b\u53e3<\/p>\n<p>java.util.function.BiFunction \u3092\u4f7f\u3063\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\u5f15\u6570\u304c\u591a\u304f\u306a\u3063\u305f\u3068\u304d\u306e\u6b63\u3057\u3044\u51e6\u7406\u304c\u89e3\u3089\u306a\u3044\u306e\u3067\u9069\u5f53\u306b\u3057\u305f\u3089\u671f\u5f85\u901a\u308a\u306e\u7d50\u679c\u3068\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u3002<\/p>\n<p>\u9593\u9055\u3063\u3066\u3044\u308b\u3001\u3082\u3057\u304f\u306f\u6b63\u3057\u3044\u65b9\u6cd5\u304c\u3042\u308b\u306e\u306a\u3089\u3054\u6559\u793a\u3044\u305f\u3060\u3051\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n<p>\u305d\u3046\u8a00\u3048\u3070\u3001\u6614 JavaHouse \u9ad8\u6728\u6d69\u5149\u3055\u3093\u306e\u30db\u30fc\u30e0\u30da\u30fc\u30b8\u306b Java \u306f \u30b8\u30e3\u30ef\u30ab\u30ec\u30fc\u3068\u306f\u95a2\u4fc2\u306a\u3044\u3068\u3044\u3046\u6ce8\u610f\u66f8\u304d\u304c\u3042\u3063\u305f\u3088\u3046\u306a\u6c17\u304c\u3057\u307e\u3059\u3002<\/p>\n<p>\u3068\u3066\u3082\u307e\u3058\u3081\u305d\u3046\u3067\u5197\u8ac7\u4e00\u3064\u8a00\u308f\u306a\u305d\u3046\u306a\u96f0\u56f2\u6c17\u3092\u91b8\u3057\u51fa\u3057\u3066\u3044\u305f\u306e\u3067\u305d\u308c\u304c\u30b8\u30e7\u30fc\u30af\u306a\u306e\u304b\u672c\u6c17\u306a\u306b\u304b\u805e\u304d\u305f\u304b\u3063\u305f\u899a\u3048\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u3069\u3046\u3067\u3082\u3044\u3044\u3053\u3068\u3060\u3051\u3069<\/p>\n<p>\u601d\u3044\u3063\u304d\u308a\u601d\u3044\u51fa\u3057\u305f\uff08\u00d7_\u00d7\uff09<\/p>\n<p>JavaDoc \u3092\u30b5\u30e9\u30c3\u3068\u3044\u3063\u3068\u304d\u307e\u3057\u3087\u3046\u304b\u3002<\/p>\n<p>&nbsp;<\/p>\n<p><font color=\"#ff0000\" size=\"5\"><strong>Function<\/strong><\/font><\/p>\n<p><a href=\"about:blank*0\"><b>java.\u200butil.\u200bfunction<\/b><\/a><\/p>\n<p><a href=\"about:blank*1\"><tt>@FunctionalInterface<\/tt><\/a><tt><br \/>public interface <b>Function&lt;T,R&gt;<\/b><\/tt><\/p>\n<p>Apply a function to the input argument, yielding an appropriate result. A function may variously provide a mapping between types, object instances or keys and values or any other form of transformation upon the input. <\/p>\n<p><b>\u30d1\u30e9\u30e1\u30fc\u30bf:<\/b><\/p>\n<blockquote><p><code>T<\/code> &#8211; the type of the input to the <code>apply<\/code> operation<br \/><code>R<\/code> &#8211; the type of the result of the <code>apply<\/code> operation<\/p><\/blockquote>\n<p><b>\u65e5\u4ed8:<\/b><\/p>\n<blockquote><p>1.8 <\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p><font color=\"#ff0000\" size=\"5\"><strong>apply()<\/strong><\/font><\/p>\n<p><a href=\"about:blank*0\"><b>java.\u200butil.\u200bfunction.\u200bFunction<\/b><\/a><\/p>\n<p><tt>public R <b>apply<\/b>(T t)<\/tt><\/p>\n<p>Compute the result of applying the function to the input argument <\/p>\n<p><b>\u30d1\u30e9\u30e1\u30fc\u30bf:<\/b><\/p>\n<blockquote><p><code>t<\/code> &#8211; the input object<\/p><\/blockquote>\n<p><b>\u623b\u308a\u5024:<\/b><\/p>\n<blockquote>\n<p>the function result <\/p>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p><font color=\"#ff0000\" size=\"5\"><strong>BiFunction<\/strong><\/font><\/p>\n<p><a href=\"about:blank*0\"><b>java.\u200butil.\u200bfunction<\/b><\/a><\/p>\n<p><a href=\"about:blank*1\"><tt>@FunctionalInterface<\/tt><\/a><tt><br \/>public interface <b>BiFunction&lt;T,U,R&gt;<\/b><\/tt><\/p>\n<p>Apply a function to the input arguments, yielding an appropriate result. This is the two-arity specialization of <a href=\"about:blank*2\"><code>Function<\/code><\/a>. A function may variously provide a mapping between types, object instances or keys and values or any other form of transformation upon the input. <\/p>\n<p><b>\u30d1\u30e9\u30e1\u30fc\u30bf:<\/b><\/p>\n<blockquote><p><code>T<\/code> &#8211; the type of the first argument to the <code>apply<\/code> operation<br \/><code>U<\/code> &#8211; the type of the second argument to the <code>apply<\/code> operation<br \/><code>R<\/code> &#8211; the type of results returned by the <code>apply<\/code> operation<\/p><\/blockquote>\n<p><b>\u65e5\u4ed8:<\/b><\/p>\n<blockquote>\n<p>1.8 <\/p>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p>\u305d\u308c\u3067\u306f\u3001\u304a\u7d04\u675f\u306e\u6642\u9593\u3067\u3059\u3002<\/p>\n<p>\u3053\u306e\u300c\u3082\u3063\u3068 Lambda \u300d\u30b7\u30ea\u30fc\u30ba\u306f\u3001\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u4e0a\u3067\u5f97\u305f\u60c5\u5831\u3092\u5143\u306b\u305d\u308c\u3092\u5c11\u3057\u5909\u66f4\u3057\u3066\u3044\u308b\u3060\u3051\u3067\u3059\u3002<\/p>\n<p>\u3088\u3063\u3066\u79c1\u306e\u63a8\u6e2c\u3067\u89e3\u91c8\u3055\u308c\u305f\u5185\u5bb9\u304c\u90e8\u5206\u7684\u306b\u3042\u308a\u307e\u3059\u306e\u3067\u9593\u9055\u3044\u304c\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>Java8 \u3082\u307e\u3060 build86 \u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u306e\u3067 API \u306e\u5909\u66f4\u306b\u3088\u308a\u8a18\u8ff0\u65b9\u6cd5\u304c\u5909\u308f\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<p>\u65e9\u304f\u6b63\u5f0f\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u3066\u65e5\u672c\u8a9e\u3067\u3053\u306e\u8d85\u4fbf\u5229\u3067\u7d20\u6575\u306a\u65b0\u6a5f\u80fd\u3092\u52c9\u5f37\u3057\u305f\u3044\u4eca\u65e5\u3053\u306e\u9803\u3067\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<div id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f834c9c3-3b53-400d-8e2e-8a425c42d165\" class=\"wlWriterEditableSmartContent\" style=\"float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px\">Hatena \u30bf\u30b0: <a href=\"http:\/\/b.hatena.ne.jp\/t\/Java\" rel=\"tag\">Java<\/a><\/div>\n<div class='wp_social_bookmarking_light'>\n            <div class=\"wsbl_hatena\"><a href='\/\/b.hatena.ne.jp\/add?mode=confirm&url=http%3A%2F%2Fyucchi.jp%2Fblog%2F%3Fp%3D898&title=%E3%82%82%E3%81%A3%E3%81%A8%20Lambda%20%E3%81%9D%E3%81%AE%EF%BC%96' title='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='http:\/\/yucchi.jp\/blog\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/hatena.gif' alt='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' title='\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u306f\u3066\u306a\u30d6\u30c3\u30af\u30de\u30fc\u30af\u306b\u8ffd\u52a0' width='16' height='12' class='wp_social_bookmarking_light_img' \/><\/a><\/div>\n            <div class=\"wsbl_facebook\"><a href='http:\/\/www.facebook.com\/share.php?u=http%3A%2F%2Fyucchi.jp%2Fblog%2F%3Fp%3D898&t=%E3%82%82%E3%81%A3%E3%81%A8%20Lambda%20%E3%81%9D%E3%81%AE%EF%BC%96' title='Facebook \u306b\u30b7\u30a7\u30a2' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='http:\/\/yucchi.jp\/blog\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/facebook.png' alt='Facebook \u306b\u30b7\u30a7\u30a2' title='Facebook \u306b\u30b7\u30a7\u30a2' width='16' height='16' class='wp_social_bookmarking_light_img' \/><\/a><\/div>\n            <div class=\"wsbl_google_plus_one\"><g:plusone size=\"medium\" annotation=\"none\" href=\"http:\/\/yucchi.jp\/blog\/?p=898\" ><\/g:plusone><\/div>\n            <div class=\"wsbl_twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"http:\/\/yucchi.jp\/blog\/?p=898\" data-text=\"\u3082\u3063\u3068 Lambda \u305d\u306e\uff16\" data-lang=\"ja\">Tweet<\/a><\/div>\n    <\/div>\n<br class='wp_social_bookmarking_light_clear' \/>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u65e5\u306f\u3068\u3066\u3082\u611f\u52d5\u3057\u305f\u8a18\u4e8b\u304c\u3042\u3063\u305f\u306e\u3067\u7d39\u4ecb\u3057\u307e\u3059\u3002 \u306a\u3093\u3068\u65e5\u672c\u8a9e\u3067\u3059\uff01 Java 8\u3092\u95a2\u6570\u578b\u3063\u307d\u304f\u4f7f\u3046\u305f\u3081\u306e\u304a\u307e\u3058\u306a\u3044 \u3061\u3087\u3063\u3068\u304a\u307e\u3058\u306a\u3044\u306e\u90e8\u5206\u306f\u79c1\u306b\u3068\u3063\u3066\u306f\u546a\u3044\u306e\u546a\u6587\u306e\u3088\u3046\u306b\u3082\u3068\u308c\u307e\u3057\u305f\u3002(&gt;_&lt;\uff61) \u3053\u306e\u8a18\u4e8b\u306e\u4e2d\u3067\u30ab\u30ea\u30fc\u5316\u3068\u3044\u3046\u6280\u6cd5\u304c\u7d39\u4ecb\u3055\u308c\u3066\u307e\u3057\u305f\u3002 \u79c1\u306f\u3053\u306e\u6280\u6cd5\u306f\u521d\u3081\u3066\u306a\u306e\u3067\u5c11\u3057\u8abf\u3079\u3066\u307f\u307e\u3057\u305f\u3002 Wikipedia \u3067\u306f\u6b21\u306e\u3088\u3046\u306b\u89e3\u8aac\u3055\u308c\u3066\u307e\u3057\u305f\u3002 \u30ab\u30ea\u30fc\u5316 (currying) \u3068\u306f\u3001\u8a08\u7b97\u6a5f\u79d1\u5b66\u5206\u91ce\u306e\u6280\u6cd5\u306e\u4e00\u3064\u3002\u8907\u6570\u306e\u5f15\u6570\u3092\u3068\u308b\u95a2\u6570\u3092\u3001\u5f15\u6570\u304c\u300c\u3082\u3068\u306e\u95a2\u6570\u306e\u6700\u521d\u306e\u5f15\u6570\u300d\u3067\u623b\u308a\u5024\u304c\u300c\u3082\u3068\u306e\u95a2\u6570\u306e\u6b8b\u308a\u306e\u5f15\u6570\u3092\u53d6\u308a\u7d50\u679c\u3092\u8fd4\u3059\u95a2\u6570\u300d\u3067\u3042\u308b\u3088\u3046\u306a\u95a2\u6570\u306b\u3059\u308b\u3053\u3068\u3002 \u3053\u306e\u6280\u6cd5\u306f\u3001\u30af\u30ea\u30b9\u30c8\u30d5\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[17],"class_list":["post-898","post","type-post","status-publish","format-standard","hentry","category-java","tag-java"],"_links":{"self":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/898","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=898"}],"version-history":[{"count":2,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/898\/revisions"}],"predecessor-version":[{"id":899,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=\/wp\/v2\/posts\/898\/revisions\/899"}],"wp:attachment":[{"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=898"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yucchi.jp\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}