�ʲ��򸫤ƻ���ꤿ���ʤä��Τǡ�
�ǡ�����夬�ä��Τ������顣
var curry = function(f){ var fs = f.toString(); var op = fs.indexOf('('); var cp = fs.indexOf(')'); var ob = fs.indexOf('{'); var cb = fs.lastIndexOf('}'); var args = fs.substr(op+1,cp-op-1).split(/,\s*/)�� if (!args.length) return f; // �񤬤ʤ��ΤϤ��Τޤ��֤� var curried = new Function(args.pop(), fs.substr(ob+1,cb-ob-1)); while (args.length){ curried = new Function(args.pop(), 'return ' + curried.toString().replace(/\n/,'')); // .toString().replace(/\n/,'') �� Opera�к� } return curried; };
Firefox2.0.0.12, Safari 3.04, Opera 9.25 ��ư���ǧ�Ѥߡ�IE���ɼԤޤ���:)
���Ƥ��̤ꡢ��(�ؿ�)���üʸ����Ȥ��ƥХ餷�Ƽѹ���ľ���Ƥ��롣�ͤ��Ȥ��Ƥϡ�
JavaScript�ǥ��꡼�� - �ػ������Υ��ޥ�����éµï¿½ï¿½ï¿½ï¿½ï¿½ó¡¢¥Æ¥ï¿½ï¿½ï¿½ï¿½È¤Ä¤ï¿½ï¿½Ï¤ï¿½ï¿½Ï¡ï¿½ï¿½ï¿½Ã¤Ñ¥ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ -- ������? ����ǡ�
�˶ᤤ�Τ����ɡ�eval()
������ɽ����(split�ʳ��Ǥ�)�Ȥ�ʤ��Ȥ���������̣��
�������Ȥ����Х������Τ����ɡ���������ˤ���ͳ��3�Ĥ��롣
- ����curry�����줿�ؿ����ߤ����ä��������
curry(function(a,b,c){ return a+b+c })(1)(2)(3)
�Τߤ�OK�Ȥ���curry(function(a,b,c){ return a+b+c })(1)(2,3)
�Ϥ���ʤ����Ȥ�����̣�� - curry�����줿��Τ�ʸ������ᤷ�����ˡ����ܸ���curry�����줿�Ȥ����Τ��狼��褦�ˤ������ä����㤨��
curry(function(a,b,c){ return a+b+c }).toString()
�ϡ����recipe����function anonymous(a) { return function anonymous(b) { return function anonymous(c) { return a + b + c; }; }; }
�Ȥʤ뤱�ɡ�nanto�Ǥ���
function (_0, _1, _2) { return f.apply(this, arguments); }
�ȤʤäƸ�����α��Ƥ��ʤ���
- �¹�®�١�nanto�Ǥϡ���ʬŬ�Ѥ����١��ؿ�����ľ���Ƥ���Τ��٤�����
�Ǹ�Τ�Τ˴ؤ��Ƥϡ��٥���ޡ������äƤߤ���
function cook_curry(recipe, times){ return function(){ var spice = function(a,b,c){ return 1 }; for (var curry = recipe(spice), i = 0; i < times; i++){ for (var f = curry(i), j = 0; j < times; j++){ for (var g = f(j), k = 0; k < times; k++){ var h = g(k); if (h == 1) continue; alert('whoa!'); return; } } } } }
�Ȥ���������ǡ����Ť�Ĵ���������λ��֤�¬��ΤǤ��롣
�ʲ����ºݤ˷�¬��
203���iteration�ǡ��������20�ܤ��餤�����Ф���
�����Haskell�Ȥ⾡��Ǥ���...��!?
Dan the Curry Cooker
���Υ֥����˥����Ȥ���ˤ�����������ɬ�פǤ���
��������������
���ε����ˤϵ��ĥ桼�����������Ȥ��Ǥ��ޤ���