Perl�ˤ�qq($variable)�� Ruby�ˤ�#{ expression }��Pyhon�����Ƥ�����JavaScript�ˤ�¸�ߤ��ʤ��ΤϤʤ���
�Ȥ����櫓�ǡ��������Ƥߤޤ�����
�����򥯥�å���interpolate���ޤ���
- �����ȥ��
document.title
. - URI��
location.href
- �����
����
�� - �����OK
encodeURIComponent('������')
- �����OK
document.getElementsByTagName('body')
- �����OK:
(function(){ var a = []; for(var p in document) a.push(p); return a.join(", "); })()
���Ƥ��̤ꡢ����äȶ��Ϥ����뤫�⡣ �Ǥ⡢�ѿ�(variable)���Ȥ�����꼰(expression)��Ϥ������䤬��ͳ���ߤ����٤ޤ����� Geek�����ζ��Ϥʥƥ�ץ졼�ȥ��󥸥����ǥ����ʡ�����Ȥ��ˤȤäƻȤ��䤹�����⡣
�������Ϥ����顣
function Interpolator(open, close){ this.quotemeta = function(str){ return str.replace(/[^0-9A-Za-z_]/g, function(m){ return '\\' + m; }); }; this.regexp = new RegExp( this.quotemeta(open) + '((?:\n|.)+?)' + this.quotemeta(close), 'img'); // i is for cases like '<tag> - </tag>' this.interpolate = function(str){ return str.replace(this.regexp, function(m0, m1){ var result = ''; try{ result = eval(m1); }catch(e){ result = '[' + m1 + ':' + e + ']'; } return result; }); }; this.fill = this.interpolate; }
�Ȥ��Ȥ���
var itp = new Interpolator('<code>', '</code>'); var elem = document.getElementByName('interpolate'); elem.innerHTML = itp.fill(elem.innerHTML)
�Ȥ��ޤ���
���줬eval()��ȤäƤ����Ǥ��������Ȥ����ΤǤ���С������json�Ȥ����ͤù���Ǥ������Ÿ������Ȥ�����Τ⡢����򸵤ˤ�������Ū��ñ�˽񤱤�Ǥ��礦��
Enjoy!
['Javascripter', 'the', 'Dan'].reverse().join(' ');
���Υ֥����˥����Ȥ���ˤ�����������ɬ�פǤ���
��������������
���ε����ˤϵ��ĥ桼�����������Ȥ��Ǥ��ޤ���