2005-01-01ãã1å¹´éã®è¨äºä¸è¦§
ææ¸ãããã®ãæ¤ç´¢ã«å¼ã£ããã£ãã ç¾å¨HITæ°608ãâ¦â¦å°ãªã£ããã¦ã³ãã¼ãæ°ãæ°ãã¦ããã°è¯ãã£ãããã http://threesixty.hp.infoseek.co.jp/
ANTLRã使ã£ã¦ã¿ããç°å¢ã¯ANTLR plugin for Eclipseã ã¡ãã£ã¨æ¸ãæ¹ã¯éããJavaCCã¨å¤§å·®ã¯ãªããããã<>ãªã©ããã¡ãã¡æ¸ããªãã¦è¯ãã®ãè¯ãæªãã ãã
AllAboutãå¾®å¦ãªã®ã¯ãã©ã¤ã¿ã¼ããã®éã®ãããåä¹ã£ã¦ãããç¹ã«å°½ããã¨æãã ã©ã¤ã¿ã¼ã¯ã©ã¤ã¿ã¼ã§ããããã®éãã«å ¥ã£ã人ã§ã¯ãªãããã§ãçæ¿ã«å½ãããã¨ããå°è±¡ãå¼·ãã æ¬å½ã®ããã®éã®ãããã«ç´¹ä»æãæ¸ãã¦ããã(ãããã©ã¤ã¿ã¼ãç·¨éãâ¦
ããããã®ã誰ãã¨å ¨ãæè¦ãåããªããããªãã¨ãã å§ãããã¦è¦ã«è¡ã£ãã®ã ãã©ãæ£ç´ãã¾ãã¡ããã«ã½ãç¹ã«å¥³çã¤ã¶ãã¼ã¯è¯ãã£ãããããè¦ããã ãã§ããã±ãã代ã®ååã¯å ãåããæãã(æ®ãååã¯ä¸æºã®é¡ã¨ãããã¨ã§) ã¾ããããããç§ã¯å°â¦
mixiãå§ããã ããã°ã©ã é¢ä¿ã®ãã¨ã¯å¾æ¥ã©ãããã¡ãã«æ¸ããå°èª¬é¢ä¿ã®ãã¨ã¯åãã«æ¸ããããããããããç¥åãã«ã¯èãããããªãé¡ã®ãã¨ã¯ãã¡ãã«æ¸ãâ¦â¦èª°ãã¨å ¨ãæè¦ãåããªããããªãã¨ã¨ãã
javascriptã§ func = object.methodã¨ããã¨ãªãã¸ã§ã¯ãã«é¢é£ä»ãããã¦ããªãmethodãã®ãã®ãå¾ãããã pythonã§åæ§ã«ããã¨ãªãã¸ã§ã¯ãã«é¢é£ä»ããããobject.methodãå¾ãããã ç´ãããããªã
id:m-hiyamaããã¸ã(ã¡ã½ããã§ã¯ãªã)颿°ã®Curryåãªãããã¹ãå¦çç¡ãã§åºæ¥ã¾ãããã¨ã function curry(func){ return function(x){ return function(){ var args = new Array(arguments.length+1); args[0] = x; for(var i=1;i
pythonããsshæ¥ç¶ããããã®ã¢ã¸ã¥ã¼ã«ã£ã¦ãªãããªã
æè¿ã¯http://www.drumnbasstv.com/ã°ããèãã¦ããããããEqualizerã§ä½é³ããã¼ã¹ããã¦ã
è§£æå¾ã®åä½ã颿°åãã¦æ¸¡ãçãããã§ä½ã£ãbefore()ãwrap()ã«æ¸¡ãã°å°ã軽ããªãã var makeBefore = function(original){ var re = /function(?:\s+[a-z$_]+)?\s*\(\s*((?:[a-z$_]+\s*)(,\s*[a-z$_]+\s*)*)?\)/i; var str = original.toString().matchâ¦
var rec = function _f(tgt,list,func){ array = list[tgt]; if(array instanceof Array){ for(var i=0; i
忤æ»2ã®ã³ã¼ãã¯objectã®å ´åã«æ£ããåããªããªã if(!eval(args[i]+" instanceof "+cond)){ throw "TypeError"; }ã§ã¯ãªãã¦ã if(!eval("args[i] instanceof "+cond)){ throw "TypeError"; }ã¾ã㯠if(!args[i] instanceof eval(cond)){ throw "TypeErrâ¦
çµå±ãtypeof,instanceofç¨åº¦ã®åæ¤æ»ãç¾å®çãªè½ã¨ãã©ããã ã¨ãããã¨ãå¤ã£ããhttp://d.hatena.ne.jp/kilrey/20051009#p1ã®è§£æ³(ex.x$number)ã¯è¦ãç®ãæéµæ°ãç©å½ã§ãããå®ç¨ã«èãããã®ã§ããã¨ä¿¡ããã ã§ã¯ã颿°ã®åæ¤æ»åãç°¡ç¥ã«ããææ®µãâ¦
ï¼ã¤æã¡ãã©ã Ã軽快ãªã¡ããã£ãè¸ãåãã®ãã¼ãã ãã®ãã¦ã¹ã¯å¥½ãã ãªã軽ãã ãã®è½å¤©æ°ãªé³æ¥½ãããªããã ç¹ã«track8ã®Mindcircusãè¯ãããï¼ããããã°ãã®æ²ã¯ï¼ã¤æã¡ãããªãã¦ãããããããã¥ããã¨ã·ã³ã³ãå ¥ã£ã¦ãããªãããããç§ã¯ã·ã³ã³â¦
夿°åã«çä¼¼ã³ã¼ããç¹ãè¾¼ãã¨ããããæ¹ã«ã¤ãã¦ãªã®ã ããå ¨è§ã§ã³ã¼ããæ¸ãã¦ãã¾ãã¨ããææ³ãæãå¼·åãªã®ã¯ééããªããããããå¼·åããã¦æ¬æ¥ã®ã³ã¼ããè¦å¤±ããããªã(ã¨ãããã絶対ã«è¦å¤±ã)ã®ã§ãå®ç¨æ§ã¯çç¡ã ããã 許ããç¯å²ã§è¨ãã°å¤â¦
ãã«ãã«ã¿ããã«ãã¨ãããç¡çã鳿°ãå¤ãã ãã¯ãããããã¯ãã¨ããããã¯ãã¯ãçãªããã¯ã¨ããå°è±¡ãã®ã¿ã¼ã表ã«åºã¦ãããããã©ã ãæ©æ¢°æ©æ¢°ãã¦ããªããã ä½ã¨ãããå¥å ¨ã ãå¥å ¨éãããã®ã¯æ§ã«åããªãã®ã ããã¶ãã
å°ãç°¡ç¥åãã¦ã夿°å$ååãã¨ããå½¢å¼ã«ãã¦ã¿ãã var before = function check(original,args,result){ var re = /function(?:\s+[a-z$_]+)?\s*\(\s*((?:[a-z$_]+\s*)(,\s*[a-z$_]+\s*)*)?\)/i; var str = original.toString().match(re)[1];//弿°åâ¦
ãããã«ãããããã¿ãããããããã¿ãããã«ã¼ããã«ã¼ãã ãããã鳿¥½ãæãã ãªã忝ã«ããã¨ããããã¯èæ¯ã¨ãã¦ä½ãã¨å ±ã«è´ãã¨ããæãã誰ãã¨äºäººã§ãã£ããã¨åã£ã¦ããå¾ãã§ä½äºã§ããªã調åã§æµãã¦ããã¨ã¡ããã©è¯ãããé ããã£ãæ¹ãâ¦
ï¼ã¤æã¡+αã®ãã¹ãã©ã¨ããããã¼ã¹ããã®ä¸ã«ä¹ã£ããç´°ãããã¤ããããã¯ãªã¼ã³ãªé³åãã®ã¡ããã£ã åç´ã«è¨ã£ã¦å¿å°è¯ãã®ããä½é³é¨ã¯ä½ãè¸ãã ãããã ããé«é³é¨ã¯è´ãå ¥ãã«åããã©ã¡ãã§ãè¯ãã ãã䏿²ãè´ãã¦ããéã§ãä½ãåããæéã¨è½â¦
ãã®æ¥ã«èãã鳿¥½ãæãã¦ãããã¨ã«ããã
颿°ãä½ãéã弿°åã«åæ¤æ»ãè¡ãããã®ã³ã¼ãçãåãè¾¼ãã ãããé©åã«å¤æãã¦è©ä¾¡ãã颿°ãaspectã¨ãã¦ç¹ãè¾¼ãã è©ä¾¡ã®çµæãçãªãã°åæ¤æ»ã«éã£ãã¨ã¿ãªãã ã¨ããæ©æ§ãèãããã³ã¼ãã¯å¾ã§æ¸ãã
å®ç¨æ§ãèããçµæãbeforeãafterã«ã¯originalãæ¸¡ãæ¹ã便å©ã ããaroundãæ¬²ããã¨ãããã¨ã§âã®ããã«ãªã£ãã var wrap = function(original,before,after,around){ var func = function(){ if(before){ before.apply(this,[original,arguments]); } vâ¦
ä¹ã£åãã®å®è¡é¨ã«ç´æäºãæ®ãã®ã¯å«ããªã®ã§ var wrap2 = function(obj,id,before,after){ obj[id] = wrap(obj[id],before,after); } var obj = { _x:"X", getX:function(){return this._x;} }; // ä¹ã£åãã®å®è¡ wrap2(obj, "getX", function(){alert("â¦
http://d.hatena.ne.jp/m-hiyama/20050928/1127869442ã«é¢ãã¦ã¡ã¢ã åç´ã«é¢æ°ãä¹ã£åãå ´åã¯ä¸ã®ããã«ããã°è¯ãããã var wrap = function(original,before,after){ var func = function(){ before.apply(this,arguments); var result = original.apâ¦
http://d.hatena.ne.jp/m-hiyama/20050808/1123486683ã®è¨äºãèªãã§javascriptãçè§£ãã(ã¤ãã)ã Cè¨èªãJava風ã®è¦ãç®ããã¦ãããã©ãå®éã«ã¯ãããããã£ã飿³é åã§å®ç¾ãã颿°è¨èªããªã®ã ãLispãªãã¬Hasp(HASh Processor)ã¨ã§ãå¼ã¹ã°ããã â¦
æ°ã«ãªã£ã¦èª¿ã¹ã¦ã¿ãã python lambda x: x*xjavascript function(x){ return x*x; };Groovy { x -> return x * x }scheme (lambda (x) (* x x))Haskell \x -> x*xOCaml fun x -> x*xC#*1 delegate(int x) { return x*x; }以ä¸ãä½è«ã åãæç¤ºããè¨èªã§â¦
lambdaã®å®ç¾©ãè¤æ°è¡ã«ãããã®ã許ãããã¨ãã¦ãææ³ã¯ç ´ç¶»ããªããã ãã©ãããæ±ããããã«ã¯ãªããªãã®ã¯ä½æ ã ããã func = lambda x: x*x#ãããæ£ããå½¢func = lambda x:#ããã¯åºæ¥ãªã return x*x
http://dmoz.org/Computers/Programming/Languages/Lisp/Scheme/Implementations/Java-Based/
æ¬äººã«ã¨ã£ã¦ã¯æªããã¨ãªã®ã§å å®¹ã¯æ¸ããªãã
schemeã¯ä½ã§ãåºæ¥ãè¨èªã ãCãä½ã§ãåºæ¥ãè¨èªã ãã©ã¡ããééã£ã¦ããªããã両è ã¯ãä½ã§ãåºæ¥ããã¨ããç¯çã®ä¸ã§å¯¾æ¥µã«ããã(対極ããå¤å´ã«ä½ç½®ããè¨èªãããã)è¨ç®ã¢ã«ã´ãªãºã ã®åé¡ã«ã¯schemeãé©ãã¦ããããã¤ã³ã¿ã¼ãã§ã¼ã¹ã«ã¼ãã®ãã©â¦