{"id":4539,"date":"2010-03-08T20:00:18","date_gmt":"2010-03-08T11:00:18","guid":{"rendered":"http:\/\/www.sssg.org\/blogs\/hiro345\/?p=4539"},"modified":"2010-03-10T08:31:52","modified_gmt":"2010-03-09T23:31:52","slug":"java%e3%81%a7javascript","status":"publish","type":"post","link":"https:\/\/www.hiro345.net\/blogs\/hiro345\/archives\/4539.html","title":{"rendered":"Java\u3067JavaScript"},"content":{"rendered":"<p>JavaScript\u3092Java\u3067\u5b9f\u884c\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u7c21\u5358\u306b\u4f5c\u308c\u308b\u306e\u3067\u3001\u3061\u3087\u3063\u3068\u7528\u610f\u3057\u3066\u307f\u305f\u3002Java6\u3067\u306fRhino\u304c\u540c\u68b1\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u305d\u306e\u6319\u52d5\u3092\u78ba\u8a8d\u3059\u308b\u306e\u306b\u4fbf\u5229\u3067\u3059\u3002\u76f4\u63a5\u66f8\u304d\u8fbc\u3080\u65b9\u6cd5\u3068\u3001a.js\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u3092\u7528\u610f\u3057\u3066\u8aad\u307f\u8fbc\u3080\u65b9\u6cd5\u3068\u3001\u4e21\u65b9\u7528\u610f\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<div class=\"code\" style=\"overflow: scroll; width: 490px; white-space: nowrap;background-color:black;color:white;padding:4px;\">import&nbsp;javax.script.*&#x3b;<br \/>\nimport&nbsp;java.io.*&#x3b;<\/p>\n<p>public&nbsp;class&nbsp;Script&nbsp;{<br \/>\n&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;throws&nbsp;Exception&nbsp;{<br \/>\n&nbsp;&nbsp;Script&nbsp;app&nbsp;=&nbsp;new&nbsp;Script()&#x3b;<br \/>\n&nbsp;&nbsp;app.run1()&#x3b;<br \/>\n&nbsp;&nbsp;app.run2()&#x3b;<br \/>\n&nbsp;}<br \/>\n&nbsp;public&nbsp;void&nbsp;run1()&nbsp;throws&nbsp;Exception&nbsp;{<br \/>\n&nbsp;&nbsp;ScriptEngineManager&nbsp;m&nbsp;=&nbsp;new&nbsp;ScriptEngineManager()&#x3b;<br \/>\n&nbsp;&nbsp;ScriptEngine&nbsp;engine&nbsp;=&nbsp;m.getEngineByName(&quot;JavaScript&quot;)&#x3b;<br \/>\n&nbsp;&nbsp;try&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;engine.eval(&quot;print(&#8216;Hello,&nbsp;world&#x21;&#8217;)&quot;)&#x3b;<br \/>\n&nbsp;&nbsp;}&nbsp;catch&nbsp;(ScriptException&nbsp;e)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace()&#x3b;<br \/>\n&nbsp;&nbsp;}<br \/>\n&nbsp;}<br \/>\n&nbsp;public&nbsp;void&nbsp;run2()&nbsp;throws&nbsp;Exception&nbsp;{<br \/>\n&nbsp;&nbsp;ScriptEngineManager&nbsp;m&nbsp;=&nbsp;new&nbsp;ScriptEngineManager()&#x3b;<br \/>\n&nbsp;&nbsp;ScriptEngine&nbsp;engine&nbsp;=&nbsp;m.getEngineByName(&quot;ECMAScript&quot;)&#x3b;<br \/>\n&nbsp;&nbsp;InputStream&nbsp;is&nbsp;=<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.getClass().getResourceAsStream(&quot;a.js&quot;)&#x3b;<br \/>\n&nbsp;&nbsp;try&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;Reader&nbsp;reader&nbsp;=&nbsp;new&nbsp;InputStreamReader(is)&#x3b;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;engine.eval(reader)&#x3b;<br \/>\n&nbsp;&nbsp;}&nbsp;catch&nbsp;(ScriptException&nbsp;e)&nbsp;{<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace()&#x3b;<br \/>\n&nbsp;&nbsp;}<br \/>\n&nbsp;}<br \/>\n}\n<\/p><\/div>\n<p>\u3061\u306a\u307f\u306b\u3001a.js \u306e\u5185\u5bb9\u306f\u6b21\u306e\u3088\u3046\u306a\u611f\u3058\u306e\u5185\u5bb9\u3002<\/p>\n<div class=\"code\" style=\"overflow: scroll; width: 490px; white-space: nowrap;background-color:black;color:white;padding:4px;\">print(&quot;&#x5c;nhello&#x5c;n&quot;)&#x3b;<br \/>\nvar&nbsp;itemTitle&nbsp;=&nbsp;&quot;&amp;abc&amp;def&amp;&quot;&#x3b;<br \/>\nre1&nbsp;=&nbsp;new&nbsp;RegExp(&quot;&amp;&quot;,&nbsp;&quot;g&quot;)&#x3b;<br \/>\nitemTitle&nbsp;=&nbsp;itemTitle.replace(re1,&nbsp;&quot;&#038;amp&#x3b;&quot;)&#x3b;<br \/>\nprint(itemTitle)&#x3b;\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript\u3092Java\u3067\u5b9f\u884c\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u7c21\u5358\u306b\u4f5c\u308c\u308b\u306e\u3067\u3001\u3061\u3087\u3063\u3068\u7528\u610f\u3057\u3066\u307f\u305f\u3002Java6\u3067\u306fRhino\u304c\u540c\u68b1\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u305d\u306e\u6319\u52d5\u3092\u78ba\u8a8d\u3059\u308b\u306e\u306b\u4fbf\u5229\u3067\u3059\u3002\u76f4\u63a5\u66f8\u304d\u8fbc\u3080\u65b9\u6cd5\u3068\u3001a.js\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u3092\u7528\u610f\u3057 &hellip; <a href=\"https:\/\/www.hiro345.net\/blogs\/hiro345\/archives\/4539.html\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,15],"tags":[1207,31,291,292],"class_list":["post-4539","post","type-post","status-publish","format-standard","hentry","category-java","category-program","tag-java","tag-javascript","tag-rhino","tag-scriptengine"],"_links":{"self":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/4539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/comments?post=4539"}],"version-history":[{"count":6,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/4539\/revisions"}],"predecessor-version":[{"id":4547,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/posts\/4539\/revisions\/4547"}],"wp:attachment":[{"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/media?parent=4539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/categories?post=4539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiro345.net\/blogs\/hiro345\/wp-json\/wp\/v2\/tags?post=4539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}