JavaScriptで擬似ヒアドキュメント
今度は、JavaScriptで、sleepとかヒアドキュメントとかやる方法を
http://d.hatena.ne.jp/Hamachiya2/20070215/devsum
ききにいきたいので、できるようにしておいてください!おねがいします!
というのをみて、
「関数内にコメントで書いて、arguments.callee.callerでごにょごにょっとやればできんじゃない」と思って、以下のようなのを作ってみました。
function heredoc(tag) { var regexp = new RegExp("\\*+"+tag+"$[\r\n]+^((.|[\r\n])*)$[\r\n]+^.*"+tag+"\\*+\/","m"); return arguments.callee.caller.toString().match(regexp)[1]; } (function () { /**HERE ほげほげ ふがふが ぽよぽよ もげもげ HERE**/ alert(heredoc("HERE")); })()
けどこれ完全にIE限定だし*1、関数の中じゃないと使えなし、id:brazilさんが6ヶ月前に到達した地点であって激しく既出だしと、踏んだりけったりでした。
ちなみに、FirefoxならXML式(E4X)を使ってそれっぽいこともできるみたい。
http://d.hatena.ne.jp/brazil/20060512/1147427737