ããã§Rã使ã£ã¦æ¸ãããã¤ãGaucheã使ã£ã¦æ¸ãã¦ã¿ã¾ããããã£ã¡ã®ã»ããç´ ç´ã ãªãå帰使ã£ã¦ãªã¹ãæä½ã¨ãã¯ã¾ããããã ãã©ãæååã§åºåããããã®é¨åãæ³¥ã ãã©ãã¾ãããããã¦ããçµã¿è¾¼ã¿é¢æ°ã«åªéåãçæãã颿°ãããã¨ãããããããã ãã©ã ;;;éåæã¨ããæ¸ãåºã颿° (define (write-set set) (if (list? set) (if (any (lambda (x) (list? x)) set) (string-append "{" (string-join (map (lambda (x) (write-set x)) set)",")"}") (string-append "{" ((lambda (x sep) (string-join (map x->string x) sep)) set ",") "}")) (string-append
ã¨ãããã¨ã§ããã£ã¨ãã£ã¦ã¿ãã Slack ã¨ããã®ã¯æè¿æµè¡ã(?)ã® HipChat like 㪠Chat ãã¼ã«ã§çµæ§ã»ãã®ã¢ããªã±ã¼ã·ã§ã³*1ã¨ã®é£æºããµã¯ãã¨åºæ¥ãã®ãããæãã½ãã Slack ã§ã¯å¹¾ã¤ãã® API 㨠WebHook ãæä¾ãã¦ããã¦ããã®ã§ãç°¡åã«èªåæç¨¿ãçºè¨ã«å¯¾ãã¦åå¿ããã bot ãæ¸ããã¨ãåºæ¥ãã ã¨ãããã¨ã§ã¨ãããã room ã«å¯¾ãã¦ã®æç¨¿å¦çãæ¸ãã¦ã¿ãã Gauche ã§ã (use rfc.http) (use rfc.json) (define slack-token "plz input your token") (define my-account "plz input your account name") (http-post (string-append my-account ".slack.com") "/servi
ã¡ãã£ã¨ã ãããªããã¼ãªã®ã¯game-readã§ãCommon Lispã®read㯠å¾ç¶ã®ç©ºç½æå(æ¹è¡æåå«ã)ãæ¶è²»ããã®ã§ã > (game-repl) ã¨ã¿ã¤ããã¦RETãæã£ãæãå ¥åãããã¡ã¯ç©ºã§ãgame-read ã¯ããã« ã¦ã¼ã¶ã®å ¥åå¾ ã¡ã«ãªãã®ã ããã©ãGaucheã®readã¯å¾ç¶ã®ç©ºç½æåãæ¶è²»ããªãã gosh> (game-repl) ã¨ã¿ã¤ããã¦RETãæã¤ã¨ãREPLã¯éãæ¬å¼§ã¾ã§èªãã§ããã«(RETãå ¥åã«æ®ããã¾ã¾) game-replãå®è¡ããããã®ä¸ããèªã¾ãã game-read ã¯æåã« æ®ã£ã¦ããRETãè¦ãã®ã§ãæåã®read-line ã§ç©ºã®æååã帰ã£ã¦ããã ç§»æ¤çã§ã¯ãã®ã±ã¼ã¹ã¸ã®å¯¾å¿ãå ¥ã£ã¦ããã Shiro(2016/02/02 23:30:58 UTC): ç¾å¨ã®éçºçGaucheã§ã¯ãREPLã«ã¤ãã¦ã¯å¾ç¶ã®ç©ºç½ã èªã¿é£ã°ã
Vim ã¹ã¯ãªãããæ¸ãã¦ããã¨ãã©ããã¦ã Vim ã ãã®æ©è½ã§ã¯é£ãããã¾ãã¯é¢åãªå ´é¢ã«ã§ããããã¨ã¯ãããããç¹ã«éä¿¡å¨ããªããã¯ããã ã å¤é¨ã³ãã³ã 1 ã¤ã§æ¸ãã°ããããè¤éã«ãªã£ã¦ãã㨠Ruby ãªã©ã§ã¹ã¯ãªãããæ¸ããããªã£ã¦ããããã¨è¨ã£ã¦ãã¡ã¤ã«ãå¢ããã®ã¯å«ã ãããããã plugin ãã£ã¬ã¯ããªãªã©ã« .rb ãªã©ã®ãã¡ã¤ã«ãå ¥ãã®ãæ°ã«ãããªãã ããã§ãã£ã Vim ã¹ã¯ãªããå ã«ã³ã¼ããæ¸ããããªãããã ãã©ãå種è¨èªã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯ãªãã·ã§ã³ãªã®ã§ãçµè¾¼ã¾ãã¦ããªã Vim ã§ã¯ä½¿ããªããªãããã·ã³èªä½ã«è¨èªç°å¢ã¯å ¥ã£ã¦ãããã© Vim ã«ã¯çµè¾¼ã¾ãã¦ããªãããªãã¦ãã¨ã¯å²ã¨ãããã¡ãå¤é¨ã³ãã³ãã¨ãã¦ãªã使ããã®ã«â¦ã ã¨è¨ãããã§ãVim ã¹ã¯ãªããã«ã¤ã³ã¿ã¼ãã§ã¼ã¹ã使ããã«ä»ã®è¨èªãåãè¾¼ãæ¹æ³ãç¨éãèããã¨ååãã¿ãªã®ã§ããã¾ãæ¬æ°ã«ã
TDDãæ±ããã¨ã³ã¸ãã¢ãå¤ãã®ã§ãgaucheã§ã®ã¦ããããã¹ãä¾ã ;;ãã¹ã対象 (define (proc1 a b c) (if (and (<= a b)(<= a c)) (+ (proc2 b)(proc2 c)) (proc1 b c a))) (define (proc2 x) (* x x)) #| 以ä¸ã¦ããããã¹ãä¾ã |# ;;ãã¹ãã¢ã¸ã¥ã¼ã«ãèªã¿è¾¼ã (use gauche.test) ;;ãã¹ããã¹ã¿ã¼ã (test-start "proc1 test") ;;ãã¹ã群ã®ååä»ãã (test-section "test group 1") ;;ãã¹ãé ç® (test* "proc1 13" 13 (proc1 1 2 3)) (test* "proc1 25" 25 (proc1 2 4 3)) (test* "proc1 41" 41 (proc1 5
README.md ãã®gist㯠TDD Advent Calender 2012, 12/10 ã®ã¨ã³ããªã¨ãã¦æ¸ããããããªæ°ããã¾ããæ¨æ¥ã12/9ã®ã¨ã³ããªã¯ @setoazusa ããã® JUnitãã¹ãã®å®è¡ç°å¢ããã¼ã¸ã§ã³ã¢ããããæã®è½ã¨ãç©´ #tddadventjp â ãµãã¼ãã©ã®ã¼ã¤@ã¯ã¦ãª ã ã£ãããã§ãã ãããã ããJSTã«å¾ãã¨è¨ã£ã? ãã¦ãç§ã¯ãã¾ç¤¾å èªæ¸ä¼ã¨ã㦠è¨ç®æ©ããã°ã©ã ã®æ§é ã¨è§£éãéç§°SICP ã£ã¦ãã¤ãèªãã§ãã¦ãã¡ããã©2ç« ãããå°ãã§çµããããªã¼ã¨ããã¨ãããªãã§ããããã®ä¸ã§ã¯ãã¼ã¿æ§é ã®æä½ã ã£ãããããæç¶ã(ã颿°ãã¨ã¯è¨ããªã)ãä½ã£ãããã¦ãããããaccumulatorã使ãããã«ç´ãã¦ã¿ãããã¿ãããªæãã§ã æç¶ãã®æ§é ã夿´ ãããããããã§ããã¡ãããã®ã¨ãã¯ã æç¶ãã®å ¥åºåãå¤ãããªã ããã«ããªããã°ãªããª
éçºã®å§ããã ãã¼ãï¼ä½ãæ¸ãã°ãããããããªãã®ã§ï¼ã¨ããããï¼ç§ãä½ã Gaucheã§ä½ãã¨ãã®æé ã§ãæ¸ãã¦ã¿ã¾ãï¼- kou åæ GAUCHE_LOAD_PATHã¯".:./lib:./src:${HOME}/local/share/gauche/site/lib"ã¨ãªã£ã¦ããï¼ Gaucheé¢ä¿ã®ãã®ã¯~/work/gauche/以ä¸ã«ç½®ãã¦ããï¼ ãã¹ãã®å®è¡ã¯GaUnitã«å«ã¾ãã¦ããrun-test.elã使ã£ã¦Emacsä¸ã§è¡ã£ã¦ããï¼ ä¸æºå ããã¸ã§ã¯ãï¼ã¡ãã£ã¨ãããã®ãªããã¡ãã£ã¨ãããããã¸ã§ã¯ ãã«ãªãï¼ç¨ã®ãã£ã¬ã¯ããªãä½ãï¼ããã¸ã§ã¯ãç¨ãã£ã¬ã¯ã㪠ã¯ä»¥ä¸ã®ãããªæ§æã¨ãªãï¼ããã§ã¯ï¼ããã¸ã§ã¯ãåãXXXã¨ããï¼ XXX -+- lib ;; ã¹ã¯ãªãããç½®ããã£ã¬ã¯ã㪠| +- test ;; ãã¹ãã¹ã¯ãªãããç½®ããã£ã¬ã¯ã㪠% cd ~/
ãªã©ã³ãã®çæ´»ãèªèº«ãè¡ã£ã¦ããSagittarius Schemeã®éçºæ¥èªã ãã®ä»éå¤ãªãã¨ãã¤ã¥ã£ã¦ã¾ãã ä¸ã®ä¸ã«æã®æ°ã»ã©Schemeã®å¦çç³»ã¯ããã©ããã®é¸ã³æ¹ã«ã¤ãã¦ã¯ãã¾ãè¨åããã¦ããªãæ°ãããã®ã§ãç®çãç°å¢å¥ãããã®å¦çç³»ã®é¸ã³æ¹ãæ¸ãã¦ã¿ããã¨æããåã®ç¥ã£ã¦ããå¦çç³»ã®è©±ã«ãªãã®ã§ããªãéå®ããããã®ã«ãªããã¨ã«ã¯ç®ãã¤ã¶ã£ã¦ã»ãããã¾ããåºæ¬ãªãªã¼ã¹ããã¦ãããã¼ã¸ã§ã³ã«ã¤ãã¦ã®ã¿è¨åãªã®ã§ããã®å¦çç³»ã®éçºçã¯ãµãã¼ããã¦ããã¨ããã®ã¯å²æããã¦ããå¯è½æ§ããããã¨ã«ã注æãã¦ã»ãããããã«ã¯ãå°ãªãã¨ãRnRS(R5RS以é)ã«æºæ ãã¦ããå¦çç³»ã®ã¿ã®è¨åã§ãããã¨ãçæãã¦ã»ããã ç®çå¥ ãSICPç¨ã ã©ãã§ãããï½ ç°å¢å¥è¾ºããåç §ãã¦é©å½ã«é¸ãã§ï½ ãR7RSæºæ ã®å¦çç³»ã使ãããã ç¾ç¶ã§Chibi Schemeã¨Sagittariusã®ã¿ãã»
Gaucheã¯ããã¾ãããSchemeè¨èªã«ã¤ãã¦ã¯åããã©ããªãã®ããããã¯ç¥ã£ã¦ãããã©ãã¡ãã£ã¨æ¬æ ¼çã«ä½¿ãããªããããªã£ã¦åãçµãã§ã¾ããGaucheã¯æè»½ãªä¸ã«æ¥æ¬èªããã¥ã¡ã³ãããããããã£ã¦æ¥½ããã§ãããã§ããã£ã±ãWindowsç°å¢ã ã¨ãã¾ãã¡æªãµãã¼ãã®æ©è½ãå¤ããã ããªããCygwinã¯ããã¾ã好ããããªãã®ã§MinGWçã使ãããã®ã«ã ãããªããã§GaucheããdRubyã¸éä¿¡ãã¦ãã¾ãã°ãã²ãã£ã¨ãã¦ä½¿ãæ £ããRubyã®ã©ã¤ãã©ãªãå ¨é¨å©ç¨ã§ããã®ã§ã¯ãã¨ããã®ãä»åã®çºæ³ã®ã¯ãã¾ãã ãã¶ãTCPã§ã¡ã½ããåã¨å¼æ°ãéä¿¡ãã¦ãããã ãããã¨ããäºæ³ã®å ã«dRubyã®ã½ã¼ã¹ãè¦ã¦ã¿ãããµããµããä¸çªåç´ãªãã¿ã¼ã³ã¯ããã§ãããããã¨ããããã·ãªã¢ã©ã¤ãºããã¦ãMarshalã¢ã¸ã¥ã¼ã«ãShemeã§æ¸ãç´ãã°ããããæ´æ°ã¨æååããããæ±ããã°ããã¨ããããMar
Shiro(2010/03/25 02:58:10 PDT): æ¢ã«ããããã°ã©ã ã«å¯¾ãã¦ãå¾ã¤ãã§ ããã®æç¶ãã®éã ããããã¡ã¤ã©ãon/offã§ããªãããã¨ãã話ã http://practical-scheme.net/chaton/gauche/a/2010/03/25#entry-4bab1039-2c8af ç¹å®ã®å¼ã®å®è¡ä¸ã ããããã¡ã¤ãªã³ã° ãããã¡ã¤ã©ã¯Schemeå´ããon/offã§ããã®ã§ãã³ã¼ããæ¸ãæãããããªã ãããªãã¨ãã§ããã (define-macro (profiling expr) `(dynamic-wind profiler-start (lambda () ,expr) profiler-stop)) (profiling å¼) ã¨ããã°å¼ã®å®è¡ä¸ã ããããã¡ã¤ã«ãã¨ããã ä¾ãã°ãé©å½ã«éãè¨ç®ãã§ã£ã¡ããã¨ãã¦ï¼ (define (fib
ã«ããå¾è¼©ã«è²ã£ã話 åãã¯ã¦ãªããã°ãå§ãã¦æåã®è¨äºãããã彿ã¯å¤§éªã«æ®ããã¦ããã®ã§å¤§éªçæ´»ã¨ããååã§ããã°ããã£ã¦ãããç¾å¨ã¯ç¤¾å® ã«å± ãããç¤¾å® çæ´»ãå¼ã£è¶ãããã¾ã次ã®ããã°ã«å¼ã£è¶ããã ã¸ã ã«éã£ã¦ããé ã«ã¯é±4以ä¸ã§ä¹ã£ã¦ããããã©ãæè¿å¿ããã¦ããä¸â¦
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}