2010/07/28
Gaucheã«docstringãç¡ãçç±
gauche-develãããã§ææ¸ãããããªæ°ããããã©ãæ¥æ¬èªã§ãæ¸ãã¨ããã
gauche ã¯ããã¥ã¡ã³ãã¼ã·ã§ã³ã«ä¸å®ããããªãEmacsLisp ã«æ £ãã¦ãããã ãããã
ã³ã¼ãã®ããå´ã«ããã¥ã¡ã³ãæåãç½®ããã®ã¯å¤§ããªã¡ãªããã ã¨æãã
Lispç³»è¨èªã¯æããã颿°ã®ä¸ã«ããã¥ã¡ã³ããæ¸ãã¦ãREPLãããã¤ã§ãåç §ã§ãã æ©è½ãæã£ã¦ãã(docstring)ãGaucheã¯æ¢ãã¦ä¼çµ±ãç ´ã£ã¦ããã®æ©è½ãã¤ãã¦ããªãã ä»å¾ããã¶ãã¤ããªãã
主ãªçç±ã¯ãµãã¤ã
- Gaucheã¯å¹ççãªã¹ã¯ãªããã¨ã³ã¸ã³ã§ãããã¨ã第ä¸ã®ç®çã«ãã¦ããã
ã¤ã¾ããæ¯åå®è¡ã®åº¦ã«ã½ã¼ã¹ãèªã¾ãã¦ãã¼ãºããããã¨ãåæã
docstringã¯éçºæã«ã¯å½¹ã«ç«ã¤ããã©ãå®è¡æã«ã¯ãã ã®ãªã¼ããããã§ããã
(ããªããã»ã¹ãã¦docstringãå¤ããã¹ã¯ãªãããä½ã£ã¦ããã¨ããæã¯ãããã
ããªããã»ã¹ããããããªãäºåã«ã³ã³ãã¤ã«ããã£ã¦åãæéã§ã
ãã®æéããããªãããããã®ã¹ã¯ãªããã¨ã³ã¸ã³ãªããã§ã)
ããæå³ã³ã¡ã³ãããããªãã ãã©ãã³ã¡ã³ãã®ãã¼ãºã®æ¹ãæååã®ãã¼ãºãã軽ãã
- ãããããã³ã¼ãã¨ããã¥ã¡ã³ããè¿ãã«ç½®ãã®ã¯è¯ããªãã¨æã£ã¦ããã
- ã¡ããã¨ããããã¥ã¡ã³ããæ¸ããã¨ããã¨çµæ§ãªåéã«ãªããã³ã¼ãã¨æ··ãã£ã¦ ã³ã¼ããã²ã©ãèªã¿ã«ãããªããä¾ï¼å¤§ããªJavaã®ããã¸ã§ã¯ãã®ã½ã¼ã¹ã (ä½ããJavaã¯è¨è¨æ¹éã¨ãã¦ã³ã¼ããèªããã¨ãããæ¢ã«ããAPIãå¼ã¶ãã¨ã®æ¹ã éè¦ãã¦ãããµãã§ãããããã§ãããªãã°ã³ã¼ãã®èªã¿ããããç ç²ã«ãã¦ã ãããªãã®APIããã¥ã¡ã³ãã確å®ã«çæããããã¨ãéè¦ããã®ã¯çã«ããªã£ã¦ããã Gaucheã®æ¹éã¯éããã©ã)
- èªã¿ãããããã¥ã¡ã³ãã¨ããã®ã¯æ§æãå«ãã¦èããããã¹ãã ããã³ã¼ãã«æ··ã㦠æ¸ããã¨ããã¨å ¨ä½ã®æ§æãã³ã¼ãã«å¼ã£å¼µããã¦ãã¾ãã(Knuthã®WEBã·ã¹ãã 㯠ããã¥ã¡ã³ãã®æ§æãå ã«ãããã³ã¼ãã¯ã·ã¹ãã ã«ãã£ã¦ä¸¦ã¹æ¿ããããã) åã ã®é¢æ°ã®ã¯ã¤ãã¯ãªãã¡ã¬ã³ã¹ç¨åº¦ãªã颿°ãã¨ã«ç¬ç«ãã¦ããããããã ãã©ã ããã¨ã¯å¥ã«ã¡ããã¨æ§æãèããããã¥ã¡ã³ãã¯ã©ã£ã¡ã«ããã£ã¦å¿ è¦ã
- ã³ã¼ãã¨ããã¥ã¡ã³ãã¯ã²ã¨ã¤ã®æ½è±¡ç©ãå¥ã ã®è¦ç¹ããè¨è¿°ãããã®ã ããè¨è¿°ããããã®ãæç¢ºã«ããã«ã¯ããªãã¹ãå¥ã®æ¹åããè¨è¿°ããæ¹ãè¯ãã ã³ã¼ãã¨ããã¥ã¡ã³ããä¸ç·ã«ããã¨ãä¼¼ããããªè¦ç¹ããã®è¨è¿°ã«ãªã£ã¦ãã¾ãã¡ã (Cf. ã³ã¼ãã¨å¥ã«ããã¥ã¡ã³ããæ¸ãæå³)ã
- ããã¯ã¯ã¼ã¯ããã¼ã«ãããã©ãGaucheã¿ããã«ããã¥ã¡ã³ãã®ã½ã¼ã¹ã å¤å½èªååæã®å ´åãã³ã¼ãã«åãè¾¼ãã®ã¯ããã«ããã(ãã£ã¨ããã½ã¼ã¹å ã« å ¨è¨èªãæã£ã¦ããã¨ããGaucheæ¹å¼ã¯è¨èªæ°ãå¢ããã¨ç ´ç¶»ããã®ã§ã ã³ã¼ãä¸ã®ããã¥ã¡ã³ãã¯ä¾ãã°è±èªã§çµ±ä¸ãã¨ãã¦gettextå¼ã« 翻訳ãå¥ã®æµãã§ããã£ã¦æã¯ããã)
éçºä¸ã«ããã«ããã¥ã¡ã³ããåç §ã§ãããã¨ããdocstringã®ã¡ãªããã«ã¤ãã¦ã¯ å¥ææ®µã§ä»£æ¿å¯è½ã ãEmacsã使ã£ã¦ããªãã½ã¼ã¹ããä¸çºã§infoããã¥ã¡ã³ãã«é£ã¹ãã (ä¾: http://blog.livedoor.jp/naoya_t/archives/51350496.html )ã REPLãã (info '颿°å) ã¨ããæãããã info 颿°ã«ã¤ãã¦ã¯ ãã¼ã¸åä½ã§ã¯ãªããã³ãã¤ã³ãã§é¢æ°ã®èª¬æã«é£ã¹ãããã«å·¥å¤«ãããã¨æã£ã¦ãããã©ã è¦ã¯ããããã«å¼ãããã¨ããã¡ãªããã«ã¤ãã¦ã¯ãããã¥ã¡ã³ããã©ãã«ãããã 対å¿é¢ä¿ãæ©æ¢°çã«ä½ããã°ä½ã¨ã§ããããããããã
ãã ãåé¡ãç¡ãã¨æã£ã¦ããããã§ã¯ãªãã
- æ¨æºã®ããã¥ã¡ã³ããã©ã¼ãããããªããããã¯ãæªã 決ãããã¦ããã¨ããç¶æ ã Gaucheæ¬ä½ã®ããã«å¤§ããªãã®ã«ã¯texinfoã便å©ãªãã ãã©ãå ¨ã¦texinfoã§ããã¨ããã®ã¯ ç¡çãããããPerlãpodããRubyãrdãæã£ã¦ãããã«ç¬èªã«ä½ã£ã¡ãããã£ã¦ããã®ã è»è¼ªã®åçºæã£ã½ãã¦åå«ãããã¨ç¡ç¯æã«ãè²ã ãªãã©ã¼ãããã使ãã¾ãããã£ã¦ããã®ã Gaucheã£ã½ãã¦ããããªã¨ã¯æã£ã¦ããã ãã©ã
- 1ãã¡ã¤ã«ã§æ¸ããããªã¡ãã£ã¨ããã¹ã¯ãªãããã©ã¤ãã©ãªãªã®ã«ãããããå¥ãã¡ã¤ã«ã« ããã¥ã¡ã³ããæ¸ãã¨ããã®ã¯ç¢ºãã«é¢åãããããå ´åã¯ãã£ã±ã ã²ã¨ã¤ã®ãã¡ã¤ã«ã«ã¾ã¨ãã¦ãããããªãã å®è¡æã«è² æ ã«ãªããªããã°ããã®ã§ãä»ã®ã¹ã¯ãªããè¨èªã«ãã __END__ ã®ããã« loadã¯ä½ããã®ãã¼ã«ã¼ãè¦ãããã以éã¯èªã¾ãªããã£ã¦ãã¨ã«ããã°ããããããªããã¨ã¯ æã£ã¦ãã
(追è¨2010/07/29 15:55:38 UTC): å¥ã®è¡¨ç¾ãæãã¤ãããGaucheã®è¨è¨æ¹éã®ã²ã¨ã¤ã¯ã SICPã«ããæ¬¡ã®æã§ããã
ããã°ã©ã ã¯ã人ãèªãããã«æ¸ãããã¹ãã§ããã ããããã¾ãã¾æ©æ¢°ã§ãå®è¡ã§ããã«ãããªãã
ãããã£ã¦ãè¨èªæ©è½ã®é¸æåºæºã®ä¸ã¤ã¯ããããã«ã³ã¼ããèªã¿ããããããã ã¨ããç¹ã«ãããã³ã¼ãã®çè§£ãå©ããç®çãªãã°ã 颿°æ¯ã«ã³ã¡ã³ããã¢ããã¼ã·ã§ã³ã§ãã®æå³ (whyã®è¨è¿°) ã äºå/äºå¾æ¡ä»¶ãããªããã¼ãªã³ã¼ãã®èª¬æãªã©ãæ¸ãã¦ããã®ã¯è¯ããã¨ã ã ã§ãdocstringã¯ã³ã¼ãã®çè§£ãå©ããããã®ææ¸ã§ã¯ãªãã ããã¯APIã使ã人ã®ããã®ææ¸ã ããã
ãã¾ãã¾ãAPIã使ã人ã®ããã«æé©ãªææ¸ã¨ãã³ã¼ããçè§£ããããã«æé©ãªææ¸ã ä¸è´ããã¨ãããã¨ã¯ãããããããªããã§ãããã§ãªããã¨ã®æ¹ãå¤ãã ããã
ã ã¨ããã°å¿ ç¶çã«ãdocstringã¨ã³ã¼ããåå± ãããã«ã¯ããã³ã¼ããèªã¿ããããããã¨ã ããAPIã使ã人ã«å½¹ã«ãã¤ãã¨ãã®ã©ã¡ããããããã¯ä¸¡æ¹ãç ç²ã«ãããããªãã
Tags: Gauche, Lisp, Programming
koguro (2010/07/30 11:08:02):
shiro (2010/07/30 12:07:18):