Node:Top, Next:, Previous:(dir), Up:(dir)


Node:PrePreface, Next:, Previous:Top, Up:Top

Ìõ¼Ô¤Þ¤¨¤¬¤­

Ëܽñ¤Ï¡¢¡ÖProgramming in Emacs Lisp: An Introduction¡× ¡Êtexinfo¥Õ¥¡¥¤¥ëemacs-lisp-intro.texi¡¢1.05ÈÇ¡¢¹¹¿·Æü1997ǯ10·î21Æü¡Ë ¤ÎËÝÌõ¤Ç¤¢¤ë¡£ ÆüËܸìÌõ¥Õ¥¡¥¤¥ë¤Ï

http://www.ascii.co.jp/pub/GNU/emacs-lisp-intro-jp.texi
¤ËÃÖ¤¤¤Æ¤¢¤ë¡£ ÆüËܸì¤ÎTeX¤¬ÍøÍѤǤ­¤ë´Ä¶­¤Ê¤é¤Ð¡¢texi2dvi¤Ê¤É¤Î¥³¥Þ¥ó¥É¤Ç ¼«Á°¤Çdvi¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ°õºþ¤Ç¤­¤ë¡£ ¤Þ¤¿¡¢Mule¤òÍѤ¤¤Æ¥Ð¥Ã¥Õ¥¡¤ËÆÉ¤ß¹þ¤ó¤Ç¤«¤é M-x texinfo-format-buffer¤ò¼Â¹Ô¤¹¤ì¤Ð¡¢ ÆüËܸìÈǤÎinfo¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ ¤¿¤À¤·¡¢¤³¤Î¤è¤¦¤Ë¤·¤Æºî¤Ã¤¿info¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢ ¡Ê¥á¥Ë¥å¡¼¤Ê¤É¤Î¡ËinfoÆÃÍ­¤ÎÉôʬ¤Ï̤ËÝÌõ¤Ç¤¢¤ë¤³¤È¤ò¤¢¤é¤«¤¸¤á¤´Î»¾µ´ê¤¤¤¿¤¤¡£

Mule¡ÊMultilingual Enhancement to GNU Emacs¡Ë¤È¤½¤ÎLisp¤Ï¡¢ ¿¹ñ¸ì¤ò°·¤¦¤¿¤á¤Ë³ÈÄ¥¤·¤¿¤¿¤á¡¢ GNU Emacs¤äEmacs Lisp¤È¸ß´¹¤Ç¤Ï¤Ê¤¤Éôʬ¤¬¤¢¤ë¡£ ¾Ü¤·¤¯¤ÏMule¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ëmule-jp.texi¤ä ¥Þ¥ë¥Á¥ê¥ó¥¬¥ë´Ä¶­¤Î¼Â¸½ 1 ¡ÊÆÃ¤ËÂè3¾Ï¡ÖMule¤Ë¤è¤ë¥Þ¥ë¥Á¥ê¥ó¥¬¥ë´Ä¶­¤Î¼Â¸½¡×¡Ë¤ò»²¾È¤·¤Æ¤Û¤·¤¤¡£ ¤Ê¤ª¡¢Ëܽñ¤ÎÎãÂê¤Ï¡¢±Ñ¿ô»ú¤ò»ÈÍѤ¹¤ë¸Â¤ê¤Ï¤½¤Î¤Þ¤Þưºî¤¹¤ë¡£

GNU Emacs¤¬°·¤¦¡Ê7¥Ó¥Ã¥È¤Î¡ËASCII¥³¡¼¥É¤Îʸ»ú¤Ï¡¢ ¥³¥ó¥Ô¥å¡¼¥¿ÆâÉô¤Ç¤Ï1ʸ»ú¤ò1¥Ð¥¤¥È¤Çɽ¸½¤·¡¢ ¤³¤ì¤é¤Îʸ»ú¤Ï²èÌ̾å¤Îɽ¼¨¤Ç¤â1ʸ»ú¤¢¤¿¤ê1¥³¥é¥à¤òÀê¤á¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢Ê¸»ú¿ô¡¢ÆâÉôɽ¸½¤Î¥Ð¥¤¥È¿ô¡¢É½¼¨¥³¥é¥à¿ô¤Î¤É¤ì¤ò ¤È¤Ã¤Æ¤âƱ¤¸ÃͤǤ¢¤ë¡£ ¤Þ¤¿¡¢¥Æ¥­¥¹¥È¤ò¥Õ¥¡¥¤¥ë¤Ë¼ý¤á¤¿¤È¤­¤Îʸ»ú¥³¡¼¥É¤È GNU Emacs¤Î¥Ð¥Ã¥Õ¥¡Æâ¤Ç¤Îʸ»ú¥³¡¼¥É¤Ï¤Þ¤Ã¤¿¤¯Æ±¤¸¤Ç¤¢¤ë¡£

¤È¤³¤í¤¬¡¢Â¿¹ñ¸ì¤ò°·¤¦Mule¤Ç¤Ï¡¢¤³¤¦¤Ï¤Ê¤é¤Ê¤¤¡£ ³Æ¹ñ¤´¤È¤Ë¤½¤Î¹ñ¤Îʸ»ú¤ò1¥Ð¥¤¥È¤¢¤ë¤¤¤Ï2¥Ð¥¤¥È¤Çɽ¤¹µ¬³Ê¤¬¤¢¤ë¡£ ¤¿¤È¤¨¤Ð¡¢ÆüËܤˤÏʸ»ú¥³¡¼¥É¤Îµ¬³Ê¤È¤·¤ÆJIS X 0208¤¬¤¢¤ê 2¥Ð¥¤¥È¤Ç1ʸ»ú¤òɽ¤¹¡£ ¤Þ¤¿¡¢¥í¡¼¥Þ»ú¤È¥«¥¿¥«¥Ê¤Îµ¬³Ê¤È¤·¤ÆJIS X 0201¤¬¤¢¤ê 1¥Ð¥¤¥È¤Ç1ʸ»ú¤òɽ¤¹¡£

1¤Ä¤Î¥Ð¥Ã¥Õ¥¡Æâ¤ËÊ£¿ô¤Î¹ñ¤Îʸ»ú¥³¡¼¥É¤¬º®ºß¤·¤Æ¤â¤è¤¤¤è¤¦¤Ë¡¢ Mule¤Ç¤Ï1¥Ð¥¤¥È¤Ê¤¤¤·¤Ï2¥Ð¥¤¥È¤Îʸ»ú¥³¡¼¥É¤Î¤Þ¤¨¤Ë¼±ÊÌÍÑ¤Ë 1¥Ð¥¤¥È¡Ê¤Ê¤¤¤·¤Ï2¥Ð¥¤¥È¡Ë¤òÉղ䷤ƥХåե¡Æâ¤ËÊÝ»ý¤¹¤ë¡£ ¤³¤Î¼±ÊÌÍѤΥХ¤¥È¤ò¥ê¡¼¥Ç¥£¥ó¥°¥­¥ã¥é¥¯¥¿¡Êleading character¡Ë¤È¸Æ¤Ö¡£ ¤¿¤À¤·¡¢7¥Ó¥Ã¥È¤ÎASCII¥³¡¼¥É¤Îʸ»ú¤Ï¡¢GNU Emacs¤ÈƱ¤¸¤Ç¡¢ ¥ê¡¼¥Ç¥£¥ó¥°¥­¥ã¥é¥¯¥¿¤ÏÉղ䷤ʤ¤¡£

¤¿¤È¤¨¤Ð¡¢ÆüËܸì¤Î¡Ö¤¢¡×¤Ï¡¢Ê¸»ú¿ô¤Ï1¤Ç¤¢¤ë¤¬¡¢ ÆâÉôɽ¸½¤Ë¤Ï3¥Ð¥¤¥ÈɬÍפǤ¢¤ê¡¢É½¼¨¤Ë¤Ï2¥³¥é¥àɬÍפǤ¢¤ë¡£ Ⱦ³Ñ¤Î¡Ö¥¢¡×¤Ï¡¢Ê¸»ú¿ô¤Ï1¤Ç¤¢¤ë¤¬¡¢ÆâÉôɽ¸½¤Ë¤Ï2¥Ð¥¤¥ÈɬÍפǤ¢¤ê¡¢ ɽ¼¨¤Ë¤Ï1¥³¥é¥àɬÍפǤ¢¤ë¡£ ASCIIʸ»ú¤Î¡Öa¡×¤Ï¡¢Ê¸»ú¿ô¤âÆâÉôɽ¸½¤Î¥Ð¥¤¥È¿ô¤âɽ¼¨¥³¥é¥à¿ô¤â1¤Ç¤¢¤ë¡£

¤³¤Î¤¿¤á¡¢Mule¤Ç¤Ï¡¢´Ø¿ôlength ¡ÊSee length¡Ë¤Ï¡¢ ʸ»úÎó¤Î¡Öʸ»ú¿ô¡×¤Ç¤Ï¤Ê¤¯¡¢ ÆâÉôɽ¸½¤Î¡Ö¥Ð¥¤¥È¿ô¡×¤òÊÖ¤¹¡£ ¥Ð¥Ã¥Õ¥¡Æâ¤Î¥Ý¥¤¥ó¥È¤ä¥Þ¡¼¥¯ ¡ÊSee Buffer Size & Locations¡Ë ¤Î°ÌÃ֤⡢¡Öʸ»ú¿ô¡×¤Ç¤Ï¤Ê¤¯ÆâÉôɽ¸½¤Î¡Ö¥Ð¥¤¥È¿ô¡×¤¬Ã±°Ì¤Ç¤¢¤ë¡£

°ìÊý¡¢´Ø¿ôforward-char¤Ï¡¢¤½¤Î̾Á°¤«¤éͽÁÛ¤µ¤ì¤ë¤è¤¦¤Ë¡¢ ʸ»úñ°Ì¤Ç¥Ý¥¤¥ó¥È¤ò°Üư¤¹¤ë¡£ ʸ»úÎó¤Î¡Öʸ»ú¿ô¡×¤òÄ´¤Ù¤ë¤Ë¤Ï´Ø¿ôchars-in-string¤ò»È¤¤¡¢ ¡Öɽ¼¨¥³¥é¥à¿ô¡×¤òÄ´¤Ù¤ë¤Ë¤Ï´Ø¿ôstring-width¤ò»È¤¦¡£

(length          "abc¤¢¤¤¤¦")     => 12
(chars-in-string "abc¤¢¤¤¤¦")     =>  6
(string-width    "abc¤¢¤¤¤¦")     =>  9

.emacs¡ÊSee Emacs Initialization¡Ë¤Ç Mule¤ÎÈǤò¶èÊ̤¹¤ë¤Ë¤Ï¡¢´Ø¿ômule-version¤¬ÊÖ¤¹Ê¸»úÎó¤ò»È¤¦¡£ ¤Þ¤¿¡¢ÆüËܸìÆþÎϤˡÖWnn¡×¡¢¡Ösj3¡×¡¢¡Ö¤«¤ó¤Ê¡×¤Î¤É¤ì¤¬»È¤¨¤ë¤«¤òȽÊ̤·¡¢ ¤½¤ì¤¾¤ì¤Ë¸ÇÍ­¤ÎÀßÄê¤ò¹Ô¤¦¤Ë¤Ï¡¢ ´Ø¿ôfeaturep¤ò»È¤Ã¤Æ¤Ä¤®¤Î¤è¤¦¤Ë¤¹¤ë¡£

(if (and (not (featurep 'egg)) (featurep 'canna))
    (progn ¡Ö¤«¤ó¤Ê¡×¤Ë¸ÇÍ­¤ÎÀßÄê ... ))

(if (and (featurep 'egg) (featurep 'wnn-egg))
    (progn ¡ÖWNN¡×¤Ë¸ÇÍ­¤ÎÀßÄê ... ))

(if (and (featurep 'egg) (featurep 'sj3-egg))
    (progn ¡Ösj3¡×¤Ë¸ÇÍ­¤ÎÀßÄê ... ))

Mule¤¬X Window System¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¤·¤ÆÆ°ºî¤·¤Æ¤¤¤ë¾ì¹ç¡¢ ÊÑ¿ôwindow-system¤Ë¤ÏÃÍx¤¬¡¢ ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ïnil¤¬Â«Çû¤µ¤ì¤ë¤Î¤Ç¡¢¤Ä¤®¤Î¤è¤¦¤ËȽÊ̤Ǥ­¤ë¡£

(if (eq window-system 'x)
    (progn ¡ÖX Window System¡×¤Ë¸ÇÍ­¤ÎÀßÄê ...)
  ²èÌÌüËö¤Î¾ì¹ç¤ÎÀßÄê ...)


Node:Preface, Next:, Previous:PrePreface, Up:Top

¤Ï¤¸¤á¤Ë

¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿GNU Emacs¤ÎÂçÉôʬ¤ÏEmacs Lisp¤È¸Æ¤Ð¤ì¤ë¥×¥í¥°¥é¥ß¥ó¥° ¸À¸ì¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¡£ ¤³¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç½ñ¤¤¤¿¥³¡¼¥É¤Ï¡¢¥æ¡¼¥¶¡¼¤¬»ØÎá¤òÍ¿¤¨¤¿ ¤È¤­¤Ë²¿¤ò¤¹¤Ù¤­¤«¤ò¥³¥ó¥Ô¥å¡¼¥¿¤Ë»Ø¼¨¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¡Ê°ìÏ¢¤ÎÌ¿Îá¡Ë¤Ç¤¢¤ë¡£ Emacs¤Ï¡¢Emacs Lisp¤Ç¿·¤¿¤Ë¥³¡¼¥É¤ò½ñ¤¤¤Æ¥¨¥Ç¥£¥¿¤Î³ÈÄ¥µ¡Ç½¤È¤·¤Æ ´Êñ¤ËÄɲäǤ­¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¡£ ¡Ö³ÈÄ¥²Äǽ¤Ê¥¨¥Ç¥£¥¿¡×¤È¸Æ¤Ð¤ì¤ë·ë±ï¤Ç¤¢¤ë¡£

¡ÊEmacs¤ÏÊÔ½¸µ¡Ç½°Ê¾å¤Î¤â¤Î¤òÄ󶡤¹¤ë¤¿¤á¡¢¡Ö³ÈÄ¥²Äǽ¤Ê·×»»´Ä¶­¡×¤È¤Ç¤â ¸Æ¤Ö¤Ù¤­¤Ç¤¢¤ë¤¬¡¢¾¯¡¹¤¤¤¤¤Å¤é¤¤¡£ ¥Þ¥äÎñ¤ä·î¤ÎËþ¤Á·ç¤±¤òÄ´¤Ù¤¿¤ê¡¢Â¿¹à¼°¤ò´ÊÌ󲽤·¤¿¤ê¡¢¥³¡¼¥É¤ò¥Ç¥Ð¥Ã¥°¤·¤¿¤ê¡¢ ¥Õ¥¡¥¤¥ë¤ò´ÉÍý¤·¤¿¤ê¡¢¼ê»æ¤òÆÉ¤ó¤À¤ê¡¢Ëܤò½ñ¤¤¤¿¤ê¤Ê¤É¤Î Emacs¤Ç¹Ô¤¨¤ë¤¹¤Ù¤Æ¤Î¤³¤È¤Ï¡¢¤â¤Ã¤È¤â°ìÈÌŪ¤Ê°ÕÌ£¤ÇÊÔ½¸¤Ç¤¢¤ë¡£¡Ë

Emacs Lisp¤Ï¥Æ¥­¥¹¥È¥¨¥Ç¥£¥¿¤Ë´ØÏ¢ÉÕ¤±¤Æ¹Í¤¨¤é¤ì¤¬¤Á¤Ç¤¢¤ë¤¬¡¢ ¤½¤ì¼«ÂΤÇ1¤Ä¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤¢¤ë¡£ ¾¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ÈƱÍͤ˻Ȥ¨¤ë¡£

¥×¥í¥°¥é¥ß¥ó¥°¤òÍý²ò¤·¤¿¤¤¡¢Emacs¤ò³ÈÄ¥¤·¤¿¤¤¡¢¥×¥í¥°¥é¥Þ¤Ë¤Ê¤ê¤¿¤¤¤È¤¤¤¦ ÆÉ¼Ô¤â¤¤¤ë¤³¤È¤Ç¤¢¤í¤¦¡£ Emacs Lisp¤ÎÆþÌç¤Ç¤¢¤ëËܽñ¤Ï¡¢¥×¥í¥°¥é¥ß¥ó¥°¤Î´ðËܤò³Ø¤Ö¤¿¤á¤Î»Ø¿Ë¤òÍ¿¤¨¡¢ ¤µ¤é¤Ë½ÅÍפʤ³¤È¤Ï¡¢¼«ÎϤdzؽ¬¤¹¤ëÊýË¡¤ò¼¨¤¹¤¿¤á¤Ë¼¹É®¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£


Node:On Reading this Text, Next:, Previous:Preface, Up:Preface

Ëܽñ¤Ë¤Ï¡¢Emacs¤Ç¼Â¹Ô¤Ç¤­¤ë¾®¤µ¤ÊÎãÂê¥×¥í¥°¥é¥à¤¬¤¢¤ë¡£ GNU Emacs¤ÎInfo¤ÇÆÉ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ÎãÂê¥×¥í¥°¥é¥à¤Ë½Ð²ñ¤¦¤¿¤Ó¤Ë¤½¤ì¤é¤ò¼Â¹Ô¤Ç¤­¤ë ¡Ê¤³¤ì¤Ï´Êñ¤Ë¼Â¹Ô¤Ç¤­¤ë¤¬¡¢¤½¤ÎÊýË¡¤ÏÎãÂê¤ò¤¢¤²¤¿¤È¤­¤ËÀâÌÀ¤¹¤ë¡Ë¡£ ¤¢¤ë¤¤¤Ï¡¢Emacs¤¬Æ°¤¤¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¤òÏÆ¤ËÃÖ¤¤¤Æ¡¢ °õºþ¤µ¤ì¤¿Ëܽñ¤òÆÉ¤ó¤Ç¤¤¤ë¾ìÌ̤⤢¤í¤¦ ¡Ê¤³¤ì¤Ï¡¢É®¼Ô¤Î¹¥¤ß¤Ç¤â¤¢¤ë¡£ É®¼Ô¤Ï°õºþ¤·¤¿½ñʪ¤¬¹¥¤­¤Ç¤¢¤ë¡Ë¡£ ¼ê¤â¤È¤ÇEmacs¤ò¼Â¹Ô¤Ç¤­¤Ê¤¯¤Æ¤âËܽñ¤òÆÉ¤à°ÕÌ£¤Ï¤¢¤ë¡£ ¤¿¤À¤·¡¢¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢¾®Àâ¤ä½é¤á¤Æ¤Î¹ñ¤Ø¤Îι¹Ô°ÆÆâ¤È¤ß¤Ê¤·¤Æ¤Û¤·¤¤¡£ ¶½Ì£¿¼¤¤¤Ï¤º¤Ç¤¢¤ë¤¬¡¢¼ÂºÝ¤Ë¤½¤³¤Ë¤¤¤ë¤Î¤È¤Ï°Û¤Ê¤ë¡£

Ëܽñ¤ÎÂçÉôʬ¤Ï¡¢GNU Emacs¤Ç»È¤Ã¤Æ¤¤¤ë¥³¡¼¥É¤òį¤á¤ë¡¢ ¤Ä¤Þ¤ê¡¢¥¦¥©¡¼¥¯¥¹¥ë¡¼¤Ç¤¢¤ê¡¢¥¬¥¤¥ÉÉÕ¤­¥Ä¥¢¡¼¤Ç¤¢¤ë¡£ ¤³¤ì¤é¤Î¥Ä¥¢¡¼¤Ë¤Ï2¤Ä¤ÎÌÜŪ¤¬¤¢¤ë¡£ Âè°ì¤Ë¡¢¼ÂºÝ¤Ëưºî¤¹¤ë¡ÊÆü¾ïŪ¤Ë»ÈÍѤ·¤Æ¤¤¤ë¡Ë¥³¡¼¥É¤Ë´·¤ì¤Æ¤â¤é¤¦¤³¤È¤Ç¤¢¤ê¡¢ ÂèÆó¤Ë¡¢Emacs¤ÎưºîÊý¼°¤Ë´·¤ì¤Æ¤â¤é¤¦¤³¤È¤Ç¤¢¤ë¡£ ¥¨¥Ç¥£¥¿¤Î¼ÂÁõÊý¼°¤ò³Ø¤Ö¤³¤È¤Ï¶½Ì£¿¼¤¤¤Ï¤º¤Ç¤¢¤ë¡£ ¤Þ¤¿¡¢¥½¡¼¥¹¥³¡¼¥É¤òÆÉ¤ß¿Ê¤àºÝ¤Î¥³¥Ä¤â³Ø¤ó¤Ç¤Û¤·¤¤¡£ ¥½¡¼¥¹¥³¡¼¥É¤«¤é³Ø¤ó¤À¤ê¡¢¥¢¥¤¥Ç¥¢¤òË٤굯¤³¤»¤ë¤Ï¤º¤Ç¤¢¤ë¡£ GNU Emacs¤Ï¤Þ¤µ¤ËÊõ¤Î»³¤Ç¤¢¤ë¡£

¥¨¥Ç¥£¥¿¤È¤·¤Æ¤ÎEmacs¤ä¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¤·¤Æ¤ÎEmacs Lisp¤ò³Ø¤Ö¤³¤È¤Ë²Ã¤¨¤Æ¡¢ ÎãÂê¤ä¥¬¥¤¥ÉÉÕ¤­¥Ä¥¢¡¼¤Ï¡¢Lisp¤Î¥×¥í¥°¥é¥ß¥ó¥°´Ä¶­¤È¤·¤Æ¤ÎEmacs¤ò½ÏÃΤ¹¤ë µ¡²ñ¤È¤Ê¤ë¤Ï¤º¤Ç¤¢¤ë¡£ GNU Emacs¤Ï¡¢¥×¥í¥°¥é¥ß¥ó¥°¤Î»Ù±ç¤Ë²Ã¤¨¤Æ¡¢M-. ¡Ê¥³¥Þ¥ó¥Éfind-tag¤òµ¯Æ°¤¹¤ë¥­¡¼¡Ë¤Ê¤É¤Î´·¤ì¤ë¤ÈÊØÍø¤Ê¥Ä¡¼¥ë¤âÄ󶡤¹¤ë¡£ ¥¨¥Ç¥£¥¿´Ä¶­¤Î°ìÉô¤Ç¤¢¤ë¥Ð¥Ã¥Õ¥¡¤ä¤½¤Î¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â³Ø¤Ö¡£ Emacs¤Î¤³¤ì¤é¤Îµ¡Ç½¤ò³Ø¤Ö¤³¤È¤Ï¡¢ÆÉ¼Ô¤Î³¹¤Î¼þ¤ê¤ÎÆ»¤ò¿·¤¿¤Ë³Ø¤Ö¤³¤È¤Ë»÷¤Æ¤¤¤ë¡£

ÆÉ¼Ô¤¬ÃΤé¤Ê¤¤¥×¥í¥°¥é¥ß¥ó¥°¤Î¦Ì̤ò³Ø¤Ö¤¿¤á¤ÎEmacs¤ÎÍøÍÑË¡¤âÅÁ¤¨¤¿¤¤¤È»×¤¦¡£ ÆÉ¼Ô¤òÏǤ魯¤³¤È¤¬¤é¤òÍý²ò¤·¤¿¤ê¡¢¿·¤¿¤Ê¤³¤È¤ò¹Ô¤¦ÊýË¡¤òÄ´¤Ù¤ë¤¿¤á¤Ë¤â Emacs¤òÍøÍѤǤ­¤ë¤Î¤Ç¤¢¤ë¡£ ¤³¤ÎÆÈΩÀ­¤Ï¹¥¤Þ¤·¤¤¤À¤±¤Ç¤Ê¤¯ÍøÅÀ¤Ç¤â¤¢¤ë¡£


Node:Who You Are, Next:, Previous:On Reading this Text, Up:Preface

ÂоݤȤ¹¤ëÆÉ¼Ô

Ëܽñ¤Ï¡¢¥×¥í¥°¥é¥Þ¤Ç¤Ï¤Ê¤¤¿Í¸þ¤±¤Î½éÊâ¤ÎÆþÌç½ñ¤Ç¤¢¤ë¡£ ¤¹¤Ç¤Ë¥×¥í¥°¥é¥Þ¤Ç¤¢¤ëÆÉ¼Ô¤Ë¤Ï¡¢Ëܽñ¤Ïʪ­¤ê¤Ê¤¤¤Ç¤¢¤í¤¦¡£ ¤È¤¤¤¦¤Î¤Ï¡¢¤½¤Î¤è¤¦¤ÊÆÉ¼Ô¤Ï¤¹¤Ç¤Ë¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤ò¸ʬ¤ËÆÉ¤á¤ë¤è¤¦¤Ë ¤Ê¤Ã¤Æ¤ª¤ê¡¢Ëܽñ¤Î¹½À®¤Ï´Ö±ä¤Ó¤·¤Æ¸«¤¨¤ë¤Ç¤¢¤í¤¦¡£

·Ð¸³¤¢¤ë¥×¥í¥°¥é¥Þ¤Ï¡¢Ëܽñ¤ò¤Ä¤®¤Î¤è¤¦¤Ëɾ²Á¤·¤Æ¤¯¤ì¤¿¡£

¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤Ç³Ø¤Ö¤Û¤¦¤¬¹¥¤­¤Ç¤¢¤ë¡£ ³ÆÃÊÍî¤Ë¡ÖÈô¤Ó¹þ¤ó¤Ç¡×¡¢ÃÊÍî¤Î¤¢¤¤¤À¤Ç¡Ö©¤Ä¤®¡×¤¹¤ë¡£

ÃÊÍî¤òÆÉ¤ß½ª¤¨¤¿¤È¤­¤Ë¤Ï¡¢¤½¤³¤Ç¼è¤ê¾å¤²¤¿ÏÃÂê¤Ï´°·ë¤·¤Æ¤ª¤ê¡¢ ɬÍפʤ³¤È¤Ï¡Ê°Ê¹ß¤ÎÃÊÍî¤Ç¤è¤ê¾Ü¤·¤¯ÀâÌÀ¤¹¤ë¾ì¹ç¤ò½ü¤¤¤Æ¡Ë ¤¹¤Ù¤Æ¤ï¤«¤Ã¤¿¤È²¾Äꤷ¤¿¤¤¡£ ¤è¤¯¹½À®¤µ¤ì¤¿¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤Ë¤Ï¡¢ ¾éŤÊÉôʬ¤¬¤Ê¤¯¡¢É¬ÍפʾðÊó¤Ø¤Îº÷°ú¤¬À°È÷¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¢¤ë¡£

Ëܽñ¤Ï¡¢¤³¤Î¤è¤¦¤Ê¿Í¸þ¤±¤Ç¤Ï¤Ê¤¤¡ª

Âè°ì¤Ë¡¢¤ª¤Î¤ª¤Î¤Î¤³¤È¤¬¤é¤ò¾¯¤Ê¤¯¤È¤â3²ó¤ÏÀâÌÀ¤¹¤ë¤è¤¦¤ËÅØ¤á¤¿¡£ 1²óÌܤϾҲð¡¢2²óÌܤϻȤ¤Êý¡¢3²óÌܤÏÊ̤λȤ¤Êý¤äÉü½¬¤Ç¤¢¤ë¡£

ÂèÆó¤Ë¡¢1¤Ä¤ÎÏÃÂê¤Ë´Ø¤¹¤ë¤¹¤Ù¤Æ¤Î¾ðÊó¤ò1¤«½ê¤Ë¤Þ¤È¤á¤ë¤³¤È¤Ï¤»¤º¤Ë¡¢ 1¤Ä¤ÎÃÊÍî¤ËµÍ¤á²á¤®¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£ É®¼Ô¤Î¹Í¤¨Êý¤Ç¤Ï¡¢¤½¤¦¤·¤Ê¤¤¤ÈÆÉ¼Ô¤Ë½Å²Ù¤òÇØÉé¤ï¤»¤ë¤³¤È¤Ë¤Ê¤ë¤«¤é¤Ç¤¢¤ë¡£ ¤«¤ï¤ê¤Ë¡¢¤½¤Î»þÅÀ¤ÇɬÍפʤ³¤È¤Î¤ß¤òÀâÌÀ¤¹¤ë¤è¤¦¤ËÅØ¤á¤¿ ¡Ê¤¢¤È¤Ç¾Ü¤·¤¯ÀâÌÀ¤¹¤ë¾ì¹ç¤ËÈ÷¤¨¤Æ¡¢¾¯¡¹Í¾Ê¬¤ËÀâÌÀ¤¹¤ë¾ìÌ̤⤢¤ë¡Ë¡£

1²óÆÉ¤à¤À¤±¤Ç¡¢¤¹¤Ù¤Æ¤òÍý²ò¤·¤Æ¤â¤é¤¨¤ë¤È¤Ï¹Í¤¨¤Æ¤¤¤Ê¤¤¡£ ÆÉ¼Ô¤Ï¡¢ÀâÌÀÆâÍÆ¤ò¡Ö¤ï¤«¤Ã¤¿¤Ä¤â¤ê¡×¤Ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¤À¤í¤¦¡£ ½ÅÍפʤ³¤È¤¬¤é¤òÀµ¤·¤¯ÆÉ¼Ô¤Ë»Ø¤·¼¨¤·¡¢ Ãí°Õ¤òÂ¥¤¹¤è¤¦¤ËËܽñ¤ò¹½À®¤·¤¿¤Ä¤â¤ê¤Ç¤¢¤ë¡£

¤¤¤¯¤Ä¤«¤ÎÃÊÍî¤Ë¤Ï¡¢¡ÖÈô¤Ó¹þ¤ó¤Ç¡×¤â¤é¤¦¤·¤«¤Ê¤¯¡¢ ¤½¤ì°Ê³°¤ËÆÉ¤ß¿Ê¤àÊýË¡¤Ï¤Ê¤¤¡£ ¤·¤«¤·¡¢¤½¤Î¤è¤¦¤ÊÃÊÍî¤Î¸Ä¿ô¤Ï¾¯¤Ê¤¯¤¹¤ë¤è¤¦¤ËÅØ¤á¤¿¡£ Ëܽñ¤ÏÅÐĺº¤Æñ¤Ê»³¤Ç¤Ï¤Ê¤¯¡¢³Ú¤ËÊ⤱¤ë¾®»³¤Ç¤¢¤ë¡£

ËܽñEmacs Lisp¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç¤Ë¤Ï¡¢ »ÐËåÊԤȸƤ֤٤­¥É¥­¥å¥á¥ó¥È ¤¬¤¢¤ë¡£ ¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤Ë¤ÏËܽñ¤è¤ê¾Ü¤·¤¤ÀâÌÀ¤¬¤¢¤ë¡£ ¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤Ç¤Ï¡¢1¤Ä¤ÎÏÃÂê¤Ë´Ø¤¹¤ë¾ðÊó¤Ï1¤«½ê¤Ë¤¹¤Ù¤Æ¤Þ¤È¤á¤Æ¤¢¤ë¡£ ¾å¤Ç½Ò¤Ù¤¿¤è¤¦¤Ê¥×¥í¥°¥é¥Þ¤Ï¡¢¤½¤Á¤é¤ò»²¾È¤¹¤Ù¤­¤Ç¤¢¤ë¡£ ¤â¤Á¤í¤ó¡¢Ëܽñ¤òÆÉ¤ß½ª¤¨¤Æ¼«Ê¬¤Î¥×¥í¥°¥é¥à¤ò½ñ¤¯¤È¤­¤Ë¤Ï¡¢ ¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤¬Í­ÍѤǤ¢¤ë¤Ï¤º¤Ç¤¢¤ë¡£


Node:Lisp History, Next:, Previous:Who You Are, Up:Preface

Lisp¤ÎÎò»Ë

Lisp¤Ï¡¢¿Í¹©ÃÎǽ¤Î¸¦µæ¤Î¤¿¤á¤Ë¡¢ 1950ǯÂåËö¤Ë¥Þ¥µ¥Á¥å¡¼¥»¥Ã¥Ä¹©²ÊÂç³Ø¤Ç½é¤á¤Æ³«È¯¤µ¤ì¤¿¡£ Lisp¸À¸ì¤Ï¤½¤Î¶¯ÎϤʵ¡Ç½¤Î¤¿¤á¡¢ ¥¨¥Ç¥£¥¿¥³¥Þ¥ó¥É¤ò½ñ¤¯¤Ê¤É¤Î¾¤ÎÌÜŪ¤Ë¤âÍ¥¤ì¤Æ¤¤¤ë¡£

GNU Emacs Lisp¤Ï¡¢1960ǯÂå¤ËMIT¤Ç³«È¯¤µ¤ì¤¿Maclisp¤«¤é¿¤¯¤ò¼õ¤±·Ñ¤¤¤Ç¤¤¤ë¡£ 1980ǯÂå¤Ëɸ½àµ¬³Ê¤È¤Ê¤Ã¤¿Common Lisp¤«¤é¤â°ìÉô¤ò¼õ¤±·Ñ¤¤¤Ç¤¤¤ë¡£ ¤·¤«¤·¡¢Emacs Lisp¤Ï¡¢Common Lisp¤è¤ê¤â¤º¤Ã¤Èñ½ã¤Ç¤¢¤ë ¡ÊEmacs¤Îɸ½à¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë¤Ï¡¢ Common Lisp¤Î¿¤¯¤Îµ¡Ç½¤òEmacs Lisp¤ËÄɲ乤뤿¤á¤Î µ¡Ç½³ÈÄ¥ÍÑ¥Õ¥¡¥¤¥ëcl.el¤¬¤¢¤ë¡Ë¡£


Node:Note for Novices, Next:, Previous:Lisp History, Up:Preface

½é¿´¼Ô¤Ø°ì¸À

GNU Emacs¤òÃΤé¤Ê¤¤ÆÉ¼Ô¤Ë¤â¡¢Ëܽñ¤ÏÍ­±×¤Ç¤¢¤í¤¦¡£ ¤·¤«¤·¡¢¤¿¤È¤¨¥¹¥¯¥ê¡¼¥ó¤Î°ÜưÊýË¡¤À¤±¤Ç¤¢¤Ã¤Æ¤âEmacs¤ò³Ø¤Ö¤³¤È¤ò´«¤á¤ë¡£ Emacs¤Î»È¤¤Êý¤Ï¡¢¥ª¥ó¥é¥¤¥ó¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¼«½¬¤Ç¤­¤ë¡£ ¤½¤ì¤Ë¤Ï¡¢C-h t¤È¥¿¥¤¥×¤¹¤ë ¡Ê¤Ä¤Þ¤ê¡¢<CTRL>¥­¡¼¤Èh¤òƱ»þ¤Ë²¡¤·¤Æ¤«¤éÎ¥¤·¡¢ ¤µ¤é¤Ë¡¢t¤ò²¡¤·¤Æ¤«¤éÎ¥¤¹¡Ë¡£

Emacs¤Îɸ½à¥³¥Þ¥ó¥É¤ò»²¾È¤¹¤ë¤¿¤á¤Ë¡¢ M-C-\¡Êindent-region¡Ë¤Î¤è¤¦¤Ë¡¢ ¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë²¡¤¹¥­¡¼¤Ë³¤±¤Æ³ç¸ÌÆâ¤Ë¥³¥Þ¥ó¥É̾¤ò½ñ¤¯¡£ ¤Ä¤Þ¤ê¡¢¥³¥Þ¥ó¥Éindent-region¤Ï¡¢ ´·½¬Åª¤Ë¤ÏM-C-\¤È¥¿¥¤¥×¤¹¤ë¤Èµ¯Æ°¤Ç¤­¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë ¡Ê˾¤à¤Ê¤é¤Ð¡¢¥³¥Þ¥ó¥É¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥­¡¼¤òÊѹ¹¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ ¤³¤ì¤ò¥ê¥Ð¥¤¥ó¥É¡Êrebinding¡Ë¤È¤¤¤¦¡£ See Keymaps¡Ë¡£ M-C-\¤Ï¡¢<META>¥­¡¼¡¢<CTRL>¥­¡¼¡¢<\>¥­¡¼¤Î3¤Ä¤ò Ʊ»þ¤Ë²¡¤¹¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ¥Ô¥¢¥Î¤ò±éÁÕ¤¹¤ë¤È¤­¤Îϲ»¤Ë¤Ê¤¾¤é¤¨¤Æ¡¢ ¤³¤Î¤è¤¦¤ÊÁȤ߹ç¤ï¤»¤ò¥­¡¼¥³¡¼¥É¡Êkeychord¡Ë¤È¸Æ¤Ö¤³¤È¤â¤¢¤ë¡£ <META>¥­¡¼¤¬¤Ê¤¤¥­¡¼¥Ü¡¼¥É¤Ç¤Ï¡¢¤«¤ï¤ê¤Ë<ESC>¥­¡¼¤òÁ°ÃÖ¥­¡¼¤È¤·¤Æ»È¤¦¡£ ¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¢M-C-\¤Ï¡¢<ESC>¥­¡¼¤ò²¡¤·¤ÆÎ¥¤·¤Æ¤«¤é¡¢ <CTRL>¥­¡¼¤È<\>¥­¡¼¤Î2¤Ä¤òƱ»þ¤Ë²¡¤¹¤³¤È¤ò°ÕÌ£¤¹¤ë¡£

GNU Emacs¤ÎInfo¤ÇÆÉ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¥¹¥Ú¡¼¥¹¥Ð¡¼<SPC>¤ò²¡¤¹¤À¤±¤ÇÁ´ÂΤòÆÉ¤ß¿Ê¤á¤é¤ì¤ë ¡ÊInfo¤Ë¤Ä¤¤¤Æ³Ø¤Ö¤Ë¤Ï¡¢C-h i¤È¥¿¥¤¥×¤·¤ÆInfo¤òÁªÂò¤¹¤ì¤Ð¤è¤¤¡Ë¡£

ÍѸì¤Ë´Ø¤·¤Æ¤ÎÃí°Õ¡§Ã±¸ìLisp¤Î¤ß¤ò»È¤Ã¤¿¾ìÌÌ¤Ç¤Ï Lisp¤Î¤µ¤Þ¤¶¤Þ¤ÊÊý¸ÀÁ´È̤ò°ÕÌ£¤¹¤ë¤¬¡¢ Emacs Lisp¤ò»È¤Ã¤¿¾ìÌ̤ǤÏGNU Emacs Lisp¤Î¤ß¤ò°ÕÌ£¤¹¤ë¡£


Node:Thank You, Previous:Note for Novices, Up:Preface

¼Õ¡¡¼­

Ëܽñ¤Î¼¹É®¤Ë¶¨ÎϤ·¤Æ¤¤¤¿¤À¤¤¤¿Êý¡¹¤Ë´¶¼Õ¤·¤¿¤¤¡£ ÆÃ¤Ë¡¢Jim Blandy¡¢Noah Friedman¡¢Jim Kingdon¡¢Roland McGrath¡¢ Frank Ritter¡¢Randy Smith¡¢Richard M. Stallman¡¢ Melissa Weisshaus¤Ë´¶¼Õ¤·¤¿¤¤¡£ ¿ÉÊú¶¯¤¯Îå¤Þ¤·¤Æ¤¯¤ì¤¿Philip Johnson¤ÈDavid Stampe¤Ë¤â´¶¼Õ¤·¤¿¤¤¡£ ¸í¤ê¤¬¤¢¤ì¤ÐÉ®¼Ô¤ÎÀÕǤ¤Ç¤¢¤ë¡£


Node:List Processing, Next:, Previous:Preface, Up:Top

¥ê¥¹¥È½èÍý

´·¤ì¤Æ¤¤¤Ê¤¤¿Í¤ÎÌܤˤϡ¢Lisp¤ÏÉÔ²Ä»×µÄ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤¢¤ë¡£ Lisp¤Î¥³¡¼¥É¤Ë¤Ï¡¢¤¤¤¿¤ë¤È¤³¤í¤Ë³ç¸Ì¤¬¤¢¤ë¡£ ¡ÖLots of Isolated Silly Parentheses¡Ê´ñ̯¤Ê³ç¸Ì¤¬Â¿¤¤¡Ë¡×¤Îά¤Ç¤¢¤ë¤È ÈãȽ¤¹¤ë¿Íã¤â¤¤¤ë¡£ ¤·¤«¤·¡¢¤³¤ÎÈãȽ¤ÏÉÔÅö¤Ç¤¢¤ë¡£ Lisp¤ÏLISt Processing¤Îά¤Ç¤¢¤ê¡¢³ç¸Ì¤Ç°Ï¤ó¤À¥ê¥¹¥È¡Êlist¡Ë ¡Ê¤ª¤è¤Ó¡¢¥ê¥¹¥È¤Î¥ê¥¹¥È¡Ë¤ò°·¤¦¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤¢¤ë¡£ ³ç¸Ì¤Ï¥ê¥¹¥È¤Î¶­³¦¤òɽ¤¹¡£ ¥ê¥¹¥È¤ÎľÁ°¤Ë¥¢¥Ý¥¹¥È¥í¥Õ¥£¡¢¤Ä¤Þ¤ê¡¢°úÍÑÉä'¤òÉÕ¤±¤ë¾ì¹ç¤â¤¢¤ë¡£ ¥ê¥¹¥È¤ÏLisp¤Î´ðËܤǤ¢¤ë¡£


Node:Lisp Lists, Next:, Previous:List Processing, Up:List Processing

Lisp¤Î¥ê¥¹¥È

Lisp¤Ç¤Ï¡¢¥ê¥¹¥È¤ò'(rose violet daisy buttercup)¤Î¤è¤¦¤Ë½ñ¤¯¡£ ¤³¤Î¥ê¥¹¥È¤ÎľÁ°¤Ë¤Ï¥¢¥Ý¥¹¥È¥í¥Õ¥£¤¬1¤ÄÉÕ¤¤¤Æ¤¤¤ë¡£ ¤³¤ì¤Ï¤Ä¤®¤Î¤è¤¦¤Ë½ñ¤¯¤³¤È¤â¤Ç¤­¡¢ ¤³¤Á¤é¤Î½ñ¤­Êý¤Ë¤â´·¤ì¤Æ¤Û¤·¤¤¡£

'(rose
  violet
  daisy
  buttercup)

¤³¤Î¥ê¥¹¥È¤Î³ÆÍ×ÁǤϰۤʤë4¤Ä¤Î²Ö¤Î̾Á°¤Ç¤¢¤ë¡£ ¸Ä¡¹¤ÎÍ×ÁǤò¶õÇò¤Ç¶èÀڤꡢÄí¤Î²Ö¤òÀФǰϤ¦¤è¤¦¤Ë³ç¸Ì¤Ç°Ï¤à¡£

(+ 2 2)¤Î¤è¤¦¤Ë¡¢¥ê¥¹¥È¤Ë¤Ï¿ô¤¬´Þ¤Þ¤ì¤Æ¤â¤è¤¤¡£ ¤³¤Î¥ê¥¹¥È¤Ë¤Ï¡¢¥×¥é¥¹µ­¹æ+¤Ë³¤±¤Æ2¤Ä¤Î2¤¬¤¢¤ê¡¢ ¤ª¤Î¤ª¤Î¤Ï¶õÇò¤Ç¶èÀڤäƤ¢¤ë¡£

Lisp¤Ç¤Ï¡¢¥Ç¡¼¥¿¤È¥×¥í¥°¥é¥à¤Î¤É¤Á¤é¤âƱ¤¸ÊýË¡¤Çɽ¸½¤¹¤ë¡£ ¤Ä¤Þ¤ê¡¢¤É¤Á¤é¤â¡¢Ã±¸ì¤ä¿ô¤ä¥ê¥¹¥È¤ò¶õÇò¤Ç¶èÀڤäƳç¸Ì¤Ç°Ï¤ó¤À¥ê¥¹¥È¤Ç¤¢¤ë ¡Ê¥×¥í¥°¥é¥à¤Ï¥Ç¡¼¥¿¤Î¤è¤¦¤Ë¤â¸«¤¨¤ë¤Î¤Ç¡¢ ¥×¥í¥°¥é¥à¤ÏÍÆ°×¤Ë¾¤Î¥×¥í¥°¥é¥à¤Î¥Ç¡¼¥¿¤È¤Ê¤ê¤¨¤ë¡£ ¤³¤ì¤Ï¡¢Lisp¤Î¶¯ÎϤʵ¡Ç½¤Ç¤¢¤ë¡Ë¡£

¡Ê¸¶Ê¸¤Î2¤Ä¤Î³ç¸Ì½ñ¤­

(Since a program looks like data, one program may easily serve
 as data for another; this is a very powerful feature of Lisp.)
¤ä
(Incidentally, these two parenthetical remarks are not
 Lisp lists, because they contain ; and . as punctuation marks.)

¤Ë¤Ï¡¢¶çÆÉÅÀµ­¹æ¤È¤·¤Æ;¤ä.¤¬´Þ¤Þ¤ì¤ë¤Î¤Ç Lisp¤Î¥ê¥¹¥È¤Ç¤Ï¤Ê¤¤¡£¡Ë

¤Ä¤®¤â¥ê¥¹¥È¤ÎÎã¤Ç¤¢¤ê¡¢¥ê¥¹¥È¤ÎÃæ¤Ë¥ê¥¹¥È¤ò´Þ¤à¡£

'(this list has (a list inside of it))

¤³¤Î¥ê¥¹¥È¤ÎÍ×ÁǤϡ¢this¡¢list¡¢has¤Îñ¸ì¤È¡¢ ¥ê¥¹¥È(a list inside of it)¤Ç¤¢¤ë¡£ Æâ¦¤Î¥ê¥¹¥È¤Ï¡¢a¡¢list¡¢inside¡¢of¡¢ it¤Îñ¸ì¤«¤é¤Ç¤­¤Æ¤¤¤ë¡£


Node:Lisp Atoms, Next:, Previous:Lisp Lists, Up:Lisp Lists

Lisp¤Î¥¢¥È¥à

Lisp¤Ç¤Ï¡¢¤³¤ì¤Þ¤Çñ¸ì¤È¸Æ¤ó¤Ç¤­¤¿¤â¤Î¤ò¥¢¥È¥à¡Êatoms¡Ë¤È¸Æ¤Ö¡£ ¤³¤ÎÍѸì¤Ï¥¢¥È¥à¡Ê¸¶»Ò¡Ë¤ÎÎò»ËŪ¤Ê°ÕÌ£¤«¤é¤­¤Æ¤ª¤ê¡¢ ¡ÖÉÔ²Äʬ¡×¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£ Lisp¤Ë´Ø¤·¤Æ¤¤¤¨¤Ð¡¢¥ê¥¹¥È¤ËÍѤ¤¤Æ¤­¤¿Ã±¸ì¤Ï¤½¤ì°Ê¾å¤Ë¤Ï¾®¤µ¤¯Ê¬³ä¤Ç¤­¤º¡¢ ¥×¥í¥°¥é¥à¤Î°ìÉô¤È¤·¤ÆÆ±¤¸¤â¤Î¤ò°ÕÌ£¤¹¤ë¡£ ¿ô¤ä+¤Î¤è¤¦¤Ê1ʸ»ú¤Îµ­¹æ¤Ë¤Ä¤¤¤Æ¤â¤½¤¦¤Ç¤¢¤ë¡£ °ìÊý¡¢¥¢¥È¥à¤È¤Ï°Û¤Ê¤ê¡¢¥ê¥¹¥È¤ÏÉôʬ¤Ëʬ³ä¤Ç¤­¤ë ¡ÊSee car cdr & cons¡Ë¡£

¥ê¥¹¥È¤Ç¤Ï¡¢¥¢¥È¥à¤ò¶õÇò¤Ç¶èÀڤ롣 ¥¢¥È¥à¤Ï¡¢³ç¸Ì¤Î¤¹¤°Î٤ˤ¢¤Ã¤Æ¤â¤è¤¤¡£

µ»½ÑŪ¤Ë¤Ï¡¢Lisp¤Î¥ê¥¹¥È¤Ï¡¢¶õÇò¤Ç¶èÀڤä¿¥¢¥È¥à¤ò°Ï¤à³ç¸Ì¡¢ ¥ê¥¹¥È¤ò°Ï¤à³ç¸Ì¡¢¥¢¥È¥à¤ä¥ê¥¹¥È¤ò°Ï¤à³ç¸Ì¤«¤éÀ®¤ë¡£ ¥ê¥¹¥È¤Ï¡¢¤¿¤Ã¤¿1¸Ä¤Î¥¢¥È¥à¤ò´Þ¤à¤À¤±¤Ç¤â¡¢¤Þ¤Ã¤¿¤¯´Þ¤Þ¤Ê¤¯¤Æ¤â¤è¤¤¡£ ²¿¤â´Þ¤Þ¤Ê¤¤¥ê¥¹¥È¤Ï()¤Î¤è¤¦¤Ë½ñ¤­¡¢¶õ¥ê¥¹¥È¡Êempty list¡Ë¤È¸Æ¤Ö¡£ ¶õ¥ê¥¹¥È¤Ï¡¢¤½¤ì°Ê³°¤Î¤â¤Î¤È¤Ï°Û¤Ê¤ê¡¢¥¢¥È¥à¤Ç¤¢¤ë¤ÈƱ»þ¤Ë¥ê¥¹¥È¤Ç¤â¤¢¤ë¡£

¥¢¥È¥à¤ä¥ê¥¹¥È¤òɽ¼¨¤·¤¿¤â¤Î¤ò¥·¥ó¥Ü¥ê¥Ã¥¯¼°¡Êsymbolic expressions¡Ë¡¢ ¤¢¤ë¤¤¤Ï¡¢¤è¤ê´ÊÁǤˤÏS¼°¡Ês-expressions¡Ë¤È¸Æ¤Ö¡£ ÍѸì¡Ö¼°¡Êexpression¡Ë¡×¤½¤Î¤â¤Î¤Ç¤Ï¡¢É½¼¨¤·¤¿¥¢¥È¥à¤ä¥ê¥¹¥È¡¢¤¢¤ë¤¤¤Ï¡¢ ¥³¥ó¥Ô¥å¡¼¥¿ÆâÉô¤Ë³ÊǼ¤·¤¿¥¢¥È¥à¤ä¥ê¥¹¥È¤ò°ÕÌ£¤¹¤ë¡£ ¤·¤Ð¤·¤Ð¡¢¤³¤ì¤é¤ò¶èÊ̤»¤º¤ËÍѸì¡Ö¼°¡Êexpression¡Ë¡×¤ò»È¤¦ ¡Ê¤µ¤é¤Ë¡¢Â¿¤¯¤Î½ñÀҤǤϼ°¤ÎƱµÁ¸ì¤È¤·¤ÆÍѸì¡Ö¥Õ¥©¡¼¥à¡Êform¡Ë¡×¤ò»È¤¦¡Ë¡£

¤ï¤ì¤ï¤ì¤Î±§Ãè¤ò¹½À®¤¹¤ë¥¢¥È¥à¡Ê¸¶»Ò¡Ë¤Ï¡¢ ¤½¤ì¤é¤¬ÉÔ²Äʬ¤Ç¤¢¤ë¤È¹Í¤¨¤é¤ì¤¿»þÂå¤Ë̿̾¤µ¤ì¤¿¤â¤Î¤Ç¤¢¤ë¤¬¡¢ ʪ¼Á¸¶»Ò¤ÏÉÔ²Äʬ¤Ç¤Ï¤Ê¤¤¤³¤È¤¬ÃΤé¤ì¤Æ¤¤¤ë¡£ ¸¶»Ò¤Î°ìÉô¤òʬ³ä¤·¤¿¤ê¡¢¤Û¤ÜƱ¤¸Â礭¤µ¤ËʬÎö¤µ¤»¤¿¤ê¤Ç¤­¤ë¡£ ʪ¼Á¸¶»Ò¤Ï¡¢¤½¤Î¿¿¤ÎÀ­¼Á¤¬È¯¸«¤µ¤ì¤ë°ÊÁ°¤Ë̿̾¤µ¤ì¤¿¤Î¤Ç¤¢¤ë¡£ Lisp¤Ç¤Ï¡¢ÇÛÎó¤Ê¤É¤Î¤¢¤ë¼ï¤Î¥¢¥È¥à¤Ï¹½À®Éôʬ¤Ëʬ³ä¤Ç¤­¤ë¤¬¡¢ ¤³¤Îʬ³äµ¡¹½¤Ï¥ê¥¹¥È¤òʬ³ä¤¹¤ëµ¡¹½¤È¤Ï°Û¤Ê¤ë¡£ ¥ê¥¹¥ÈÁàºî¤Ë´Ø¤¹¤ë¸Â¤ê¡¢¥ê¥¹¥È¤Î¥¢¥È¥à¤Ïʬ³ä¤Ç¤­¤Ê¤¤¡£

±Ñ¸ì¤Î¾ì¹ç¤ÈƱÍͤˡ¢Lisp¤Î¥¢¥È¥à¤ò¹½À®¤¹¤ëʸ»ú¤Ï¡¢ ñ¸ì¤òºî¤ê¾å¤²¤ë¸Ä¡¹¤Îʸ»ú¤È¤Ï°Û¤Ê¤ë¡£ ¤¿¤È¤¨¤Ð¡¢ÆîÊÆ¤Î¥Ê¥Þ¥±¥â¥Î¤òɽ¤¹Ã±¸ìai¡Ê¥ß¥Ä¥æ¥Ó¥Ê¥Þ¥±¥â¥Î¡Ë¤Ï¡¢ 2¤Ä¤Îñ¸ìa¤Èi¤È¤Ï¤Þ¤Ã¤¿¤¯°Û¤Ê¤ë¡£

¼«Á³³¦¤Ë¤Ï¿¼ïÎà¤Î¸¶»Ò¤¬Â¸ºß¤¹¤ë¤¬¡¢Lisp¤Ë¤Ï¿ô¼ïÎà¤Î¥¢¥È¥à¤·¤«¤Ê¤¤¡£ ¤¿¤È¤¨¤Ð¡¢37¡¢511¡¢1729¤Ê¤É¤Î¿ô¡Ênumbers¡Ë¡¢ +¡¢foo¡¢forward-line¤Ê¤É¤Î ¥·¥ó¥Ü¥ë¡Êsymbols¡Ë¤Ç¤¢¤ë¡£ ¤³¤ì¤Þ¤ÇÎã¤Ë¤¢¤²¤¿Ã±¸ì¤Ï¤¹¤Ù¤Æ¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£ Lisp¤ÎÆü¾ï¤Î½¬´·¤Ç¤Ï¡¢ÍѸì¡Ö¥¢¥È¥à¡×¤ò¤¢¤Þ¤ê»È¤ï¤Ê¤¤¡£ ¤È¤¤¤¦¤Î¤Ï¡¢¥×¥í¥°¥é¥Þ¤Ï°·¤Ã¤Æ¤¤¤ë¥¢¥È¥à¤Î¼ïÎà¤òÆÃÄꤷ¤è¤¦¤È¤¹¤ë¤«¤é¤Ç¤¢¤ë¡£ Lisp¤Î¥×¥í¥°¥é¥ß¥ó¥°¤Ç¤Ï¡¢¥ê¥¹¥ÈÆâ¤Î¥·¥ó¥Ü¥ë¡Ê¤ä¤È¤­¤Ë¤Ï¿ô¡Ë¤ò°·¤¦ ¡Ê³ç¸Ì½ñ¤­¡Ö¡Ê¤ä¤È¤­¤Ë¤Ï¿ô¡Ë¡×¤Î¸¶Ê¸(and sometimes numbers)¤Ï¡¢ ¥¢¥È¥à¤ò¶õÇò¤Ç¶èÀڤäƳç¸Ì¤Ç°Ï¤ó¤Ç¤¢¤ê¡¢ ¤·¤«¤â¡¢Lisp¤Î¶çÆÉÅÀµ­¹æ°Ê³°¤Ï´Þ¤Þ¤Ê¤¤¤Î¤ÇLisp¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡Ë¡£

¤µ¤é¤Ë¡¢Æó½Å°úÍÑÉä¤Ç°Ï¤Þ¤ì¤¿¥Æ¥­¥¹¥È¤Ï¡Êʸ¤Ç¤¢¤í¤¦¤ÈÃÊÍî¤Ç¤¢¤í¤¦¤È¡Ë ¥¢¥È¥à¤Ç¤¢¤ë¡£ ¤Ä¤®¤ËÎã¤ò¼¨¤¹¡£

'(this list includes "text between quotation marks.")

Lisp¤Ç¤Ï¡¢¶çÆÉÅÀµ­¹æ¤ä¶õÇò¤ò´Þ¤ß¤³¤Î¤è¤¦¤Ë°Ï¤Þ¤ì¤¿¥Æ¥­¥¹¥È¤Ïñ°ì¤Î¥¢¥È¥à¤Ç¤¢¤ë¡£ ¤³¤Î¼ï¤Î¥¢¥È¥à¤Ïʸ»úÎó¡Êstring¡Ë¤È¸Æ¤Ð¤ì¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¤¬¿Í´Ö¸þ¤±¤Ë½ÐÎϤ¹¤ë¥á¥Ã¥»¡¼¥¸¤Ë»È¤¦¡£ ʸ»úÎó¤Ï¡¢¿ô¤ä¥·¥ó¥Ü¥ë¤È¤Ï°Û¤Ê¤ëÊ̤μïÎà¤Î¥¢¥È¥à¤Ç¤¢¤ê¡¢»È¤¤Êý¤â°Û¤Ê¤ë¡£


Node:Whitespace in Lists, Next:, Previous:Lisp Atoms, Up:Lisp Lists

¥ê¥¹¥ÈÆâ¤Î¶õÇò

¥ê¥¹¥ÈÆâ¤Î¶õÇò¤Î¸Ä¿ô¤Ï¤¤¤¯¤Ä¤Ç¤â¤è¤¤¡£ Lisp¸À¸ì¤Î»ëÅÀ¤«¤é¤¹¤ì¤Ð¡¢

'(this list
   looks like this)

¤Ï¡¢¤Ä¤®¤È¤Þ¤Ã¤¿¤¯Æ±Åù¤Ç¤¢¤ë¡£

'(this list looks like this)

¤É¤Á¤é¤ÎÎã¤âLisp¤Ë¤È¤Ã¤Æ¤ÏƱ¤¸¥ê¥¹¥È¤Ç¤¢¤ê¡¢ this¡¢list¡¢looks¡¢like¡¢ this¤Î¥·¥ó¥Ü¥ë¤«¤é¤³¤Î½ç¤Ë¹½À®¤µ¤ì¤¿¥ê¥¹¥È¤Ç¤¢¤ë¡£

;ʬ¤Ê¶õÇò¤ä²þ¹Ô¤Ï¿Í´Ö¤¬¥ê¥¹¥È¤ò¸«¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡£ Lisp¤¬¼°¤òÆÉ¤ß¼è¤ë¤È¤­¡¢Í¾Ê¬¤Ê¶õÇò¤ò¤¹¤Ù¤Æ¼è¤ê½ü¤¯ ¡Ê¤¿¤À¤·¡¢¥¢¥È¥à¤È¥¢¥È¥à¤Î¤¢¤¤¤À¤Ë¤Ï¡¢ ¤³¤ì¤é¤ò¶èÀڤ뤿¤á¤Ë¾¯¤Ê¤¯¤È¤â1¤Ä¤Î¶õÇò¤¬É¬ÍפǤ¢¤ë¡Ë¡£

´ñ̯¤Ë»×¤¨¤ë¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢¤³¤ì¤Þ¤Ç¤ÎÎã¤Ç¡¢ Lisp¤Î¤¹¤Ù¤Æ¤Î¥ê¥¹¥È¤¬¤É¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ë¤«¤ò¸«¤Æ¤­¤¿¡£ Lisp¤Î¥ê¥¹¥È¤Ï¿¤«¤ì¾¯¤Ê¤«¤ì¤³¤ì¤Þ¤Ç¤ÎÎã¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ê¡¢ ¤â¤Ã¤ÈŤ«¤Ã¤¿¤êÊ£»¨¤Ê¤À¤±¤Ç¤¢¤ë¡£ Í×Ì󤹤ì¤Ð¡¢¥ê¥¹¥È¤Ï³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿¤â¤Î¤Ç¤¢¤ê¡¢ ʸ»úÎó¤ÏÆó½Å°úÍÑÉä¤Ç°Ï¤Þ¤ì¤¿¤â¤Î¤Ç¤¢¤ê¡¢¥·¥ó¥Ü¥ë¤Ïñ¸ì¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ê¡¢ ¿ô¤Ï¿ô»úÎó¤Ç¤¢¤ë ¡Ê³Ã³ç¸Ì¤ä¥É¥Ã¥È¤äÆÃÊ̤ʿô¼ï¤Îʸ»ú¤ò»È¤¦¾ì¹ç¤â¤¢¤ë¤¬¡¢ ¤·¤Ð¤é¤¯¤Ï¤³¤ì¤é¤ò»È¤ï¤Ê¤¤¡Ë¡£


Node:Typing Lists, Previous:Whitespace in Lists, Up:Lisp Lists

GNU Emacs¤Î¥ê¥¹¥ÈÆþÎÏÊ亴µ¡Ç½

GNU Emacs¤ÎLisp Interaction¥â¡¼¥É¤äEmacs Lisp¥â¡¼¥É¤ÇLisp¤Î¼°¤ò ÆþÎϤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢Lisp¤Î¼°¤òÆÉ¤ß¤ä¤¹¤¯À°·Á¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤òÍøÍѤǤ­¤ë¡£ ¤¿¤È¤¨¤Ð¡¢<TAB>¥­¡¼¤ò²¡¤¹¤È¡¢¥«¡¼¥½¥ë¤òÃÖ¤¤¤¿¹Ô¤ò¼«Æ°Åª¤Ë»ú²¼¤²¤¹¤ë¡£ ¤¢¤ë¥ê¡¼¥¸¥ç¥ó¤Î¥³¡¼¥É¤òÀµ¤·¤¯»ú²¼¤²¤¹¤ë¥³¥Þ¥ó¥É¤Ï¡¢ ´·½¬Åª¤ËM-C-\¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë¡£ ¥ê¥¹¥È¤Î³ÆÍ×ÁǤ¬¡¢¤É¤Î¥ê¥¹¥È¤Ë°¤¹¤ë¤«¤¬¤ï¤«¤ê¤ä¤¹¤¯¤Ê¤ë¤è¤¦¤Ë»ú²¼¤²¤¹¤ë¡£ ¤Ä¤Þ¤ê¡¢Æâ¦¤Î¥ê¥¹¥È¤Î³ÆÍ×ÁǤϡ¢ ¤½¤Î¥ê¥¹¥È¤ò°Ï¤à¥ê¥¹¥È¤ÎÍ×ÁǤè¤ê¤â»ú²¼¤²¤µ¤ì¤ë¡£

¤µ¤é¤Ë¡¢ÊĤ¸³ç¸Ì¤ò¥¿¥¤¥×¤¹¤ë¤ÈEmacs¤ÏÂбþ¤¹¤ë³«¤­³ç¸Ì¤Ë°ì»þŪ¤Ë ¥«¡¼¥½¥ë¤ò°Üư¤·¤Æ¡¢Âбþ´Ø·¸¤¬¤ï¤«¤ë¤è¤¦¤Ë¤¹¤ë¡£ Lisp¤ËÍ¿¤¨¤ë¸Ä¡¹¤Î¥ê¥¹¥È¤Ï³ç¸Ì¤ÎÂбþ¤¬¼è¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¤Î¤Ç¡¢ ¤³¤ì¤Ï¤È¤Æ¤âÊØÍø¤Ç¤¢¤ë ¡ÊEmacs¤Î¥â¡¼¥É¤Ë´Ø¤·¤Æ¾Ü¤·¤¯¤Ï¡¢ See Major Modes¡Ë¡£


Node:Run a Program, Next:, Previous:Lisp Lists, Up:List Processing

¥×¥í¥°¥é¥à¤Î¼Â¹Ô

Lisp¤Î¤É¤ó¤Ê¥ê¥¹¥È¤â¼Â¹Ô¤Ç¤­¤ë¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£ ¤½¤ì¤ò¼Â¹Ô¤¹¤ë¡ÊLisp¤ÎÀìÌçÍѸì¤Ç¤Ïɾ²Á¡Êevaluate¡Ë¤¹¤ë¡Ë¤È¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¤Ï¡¢¤Ä¤®¤Î3¤Ä¤Î¤¦¤Á¤Î1¤Ä¤ò¹Ô¤¦¡£ ¥ê¥¹¥È¤½¤Î¤â¤Î¤òÊÖ¤·¤Æ¡¢¤½¤ì°Ê³°¤Î¤³¤È¤Ï²¿¤â¤·¤Ê¤¤¡£ ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½Ð¤¹¡£ ¥ê¥¹¥È¤ÎÀèÆ¬¥·¥ó¥Ü¥ë¤ò¤Ê¤ó¤é¤«¤Î¥³¥Þ¥ó¥É¤È¤·¤Æ°·¤¦ ¡Ê¤â¤Á¤í¤ó¡¢ÉáÄ̤Ï3ÈÖÌÜ¤ÎÆ°ºî¤ò˾¤à¡ª¡Ë¡£

Á°Àá¤ÎÎã¤Ë¤ª¤¤¤Æ¥ê¥¹¥È¤ÎľÁ°¤ËÉÕ¤±¤¿1¤Ä¤Î¥¢¥Ý¥¹¥È¥í¥Õ¥£'¤ò ¥¯¥ª¡¼¥È¡Êquote¡Ë¤È¸Æ¤Ö¡£ ¥ê¥¹¥È¤ÎľÁ°¤Ë¤³¤ì¤òÉÕ¤±¤ë¤È¡¢ ¤½¤Î¥ê¥¹¥È¤Ë´Ø¤·¤Æ¤Ï²¿¤â¤»¤º¤Ë»úÌ̤ɤª¤ê¤Ë°·¤¦¤³¤È¤òLisp¤Ë»Ø¼¨¤¹¤ë¡£ ¥ê¥¹¥È¤ÎľÁ°¤Ë¥¯¥ª¡¼¥È¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥ê¥¹¥È¤ÎÀèÆ¬Í×ÁǤòÆÃḚ̂·¤¤¤·¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¤¬½¾¤¦¤Ù¤­¥³¥Þ¥ó¥É¤È¤Ê¤ë ¡ÊLisp¤Ç¤Ï¡¢¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤ò´Ø¿ô¡Êfunctions¡Ë¤È¸Æ¤Ö¡Ë¡£ ¤Þ¤¨¤Ë¤¢¤²¤¿¥ê¥¹¥È(+ 2 2)¤ÎľÁ°¤Ë¤Ï¥¯¥ª¡¼¥È¤¬¤Ê¤¤¤Î¤Ç¡¢ Lisp¤Ï¡¢+¤¬¥ê¥¹¥È¤Î»Ä¤ê¤ÎÉôʬ¤ËÂФ·¤Æ¹Ô¤¦¤Ù¤­Áàºî¤Ç¤¢¤ë¤È²ò¼á¤¹¤ë¡£ ¤³¤Î¾ì¹ç¡¢¸å³¤Î¿ô¤ò²Ã»»¤¹¤ë¡£

GNU Emacs¤ÎInfo¤ÇÆÉ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Æ¥ê¥¹¥È¤òɾ²Á¤¹¤ë¡£ ¤Ä¤®¤Î¥ê¥¹¥È¤ÎÊĤ¸³ç¸Ì¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤Æ¤«¤é C-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£

(+ 2 2)

¥¨¥³¡¼Îΰè¤Ë¿ô4¤¬É½¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¢¤ë ¡ÊÀìÌçÍѸì¤Ç¤Ï¡¢¤¿¤Ã¤¿¤¤¤Þ¡Ö¥ê¥¹¥È¤òɾ²Á¡×¤·¤¿¤Î¤Ç¤¢¤ë¡£ ¥¨¥³¡¼Îΰè¤È¤Ï²èÌ̤κDz¼¹Ô¤Î¤³¤È¤Ç¡¢¥Æ¥­¥¹¥È¤òɽ¼¨¤¹¤ë¾ì½ê¤Ç¤¢¤ë¡Ë¡£ ¥¯¥ª¡¼¥È¤·¤¿¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤âƱ¤¸¤³¤È¤ò¤ä¤Ã¤Æ¤ß¤è¤¦¡£ ¤Ä¤®¤Î¥ê¥¹¥È¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£

'(this is a quoted list)

º£Å٤ϡ¢¥¨¥³¡¼Îΰè¤Ë(this is a quoted list)¤Èɽ¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¢¤ë¡£

¤¤¤º¤ì¤Î¾ì¹ç¤â¡¢GNU Emacs¤ÎÆâÉô¤Ë¤¢¤ë Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¡ÊLisp interpreter¡Ë¤È¸Æ¤Ð¤ì¤ë¥×¥í¥°¥é¥à¤Ë»ØÎá¡¢ ¤Ä¤Þ¤ê¡¢¼°¤òɾ²Á¤»¤è¤È¤¤¤¦»ØÎá¤òÍ¿¤¨¤¿¤Î¤Ç¤¢¤ë¡£ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤È¤¤¤¦Ì¾¾Î¤Ï¡¢É½¸½¤Î°ÕÌ£¤òÄɤ¤¤«¤±¤ë¿Í´Ö¤Î»Å»ö¡¢ ¤Ä¤Þ¤ê¡¢ÄÌÌõ¡Êinterpreter¡Ë¤«¤é¤­¤Æ¤¤¤ë¡£

¥ê¥¹¥È¤Î°ìÉô¤Ç¤Ï¤Ê¤¤¥¢¥È¥à¡¢¤Ä¤Þ¤ê¡¢ ³ç¸Ì¤Ë°Ï¤Þ¤ì¤Æ¤¤¤Ê¤¤¥¢¥È¥à¤òɾ²Á¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ ¤³¤Î¾ì¹ç¤âLisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¿Í´Ö¤¬ÆÉ¤á¤ëɽ¸½¤ò¥³¥ó¥Ô¥å¡¼¥¿¤Î¸À¸ì¤ËÊÑ´¹¤¹¤ë¡£ ¤³¤Î¤³¤È¡Êsee Variables¡Ë¤òÀâÌÀ¤¹¤ë¤Þ¤¨¤Ë¡¢ ¤Þ¤Á¤¬¤¤¤òµ¯¤³¤·¤¿¾ì¹ç¤ËLisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬¤É¤¦¤¹¤ë¤«¤òÀâÌÀ¤·¤è¤¦¡£


Node:Making Errors, Next:, Previous:Run a Program, Up:List Processing

¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ÎÀ¸À®

¶öÁ³°ú¤­µ¯¤³¤·¤¿¾ì¹ç¤Ïµ¤¤Ë¤·¤Ê¤¤¤Ç¤è¤¤¤¬¡¢¤³¤³¤Ç¤Ï ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤¹¤ë¤è¤¦¤Ê¥³¥Þ¥ó¥É¤òLisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ËÍ¿¤¨¤Æ¤ß¤ë¡£ ¤³¤ì¤Ï̵³²¤Ç¤¢¤ê¡¢°Õ¿Þ¤·¤Æ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤¹¤ë¤³¤È¤Ë¤¢¤ë¡£ ÀìÌçÍѸì¤òÍý²ò¤¹¤ì¤Ð¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ÏÍ­±×¤Ç¤µ¤¨¤¢¤ë¡£ ¡Ö¥¨¥é¡¼¡×¥á¥Ã¥»¡¼¥¸¤È¸Æ¤Ö¤è¤ê¤Ï¡Ö¥Ø¥ë¥×¡×¥á¥Ã¥»¡¼¥¸¤È¸Æ¤Ö¤Ù¤­¤Ç¤¢¤í¤¦¡£ ¤³¤ì¤é¤Ï¡¢¸«ÃΤé¤Ì¹ñ¤òˬ¤ì¤¿Î¹¹Ô¼Ô¤Î¤¿¤á¤Îƻɸ¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ë¡£ ÆÉ¤ß¤³¤Ê¤¹¤Î¤Ï¤¿¤¤¤Ø¤ó¤Ç¤¢¤í¤¦¤¬¡¢ ¤¤¤Ã¤¿¤óÍý²ò¤·¤Æ¤·¤Þ¤¨¤ÐÆ»¤ò»Ø¤·¼¨¤·¤Æ¤¯¤ì¤ë¡£

¥ê¥¹¥È¤ÎÀèÆ¬Í×ÁǤ˰ÕÌ£¤Î¤¢¤ë¥³¥Þ¥ó¥É¤â¤Ê¤¯¡¢¥¯¥ª¡¼¥È¤â¤·¤Æ¤¤¤Ê¤¤¥ê¥¹¥È¤ò ɾ²Á¤·¤Æ¤ß¤è¤¦¡£ ¾å¤ÇÍѤ¤¤¿¥ê¥¹¥È¤È¤Û¤È¤ó¤ÉƱ¤¸¤Ç¤¢¤ë¤¬¡¢¤½¤ÎľÁ°¤Ë¤Ï°úÍÑÉä¤òÉÕ¤±¤Ê¤¤¡£ ¤³¤Î¥ê¥¹¥È¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£

(this is an unquoted list)

º£Å٤ϡ¢¥¨¥³¡¼Îΰè¤Ë¤Ä¤®¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¢¤ë ¡ÊüËö¤Î¥Ù¥ë¤¬ÌĤ俤ê²èÌ̤¬ÅÀÌǤ·¤¿¤ê¤¹¤ë¾ì¹ç¤â¤¢¤ë¡£ ¤³¤ì¤Ï¿Í´Ö¤ÎÃí°Õ¤ò°ú¤¯¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡Ë¡£

Symbol's function definition is void: this

¥«¡¼¥½¥ë¤ò°Üư¤·¤¿¤ê¡¢²¿¤«¥­¡¼¤ò¥¿¥¤¥×¤¹¤ë¤À¤±¤Ç¥á¥Ã¥»¡¼¥¸¤Ï¾Ã¤¨¤Æ¤·¤Þ¤¦¡£

´ûÃΤΤ³¤È¤ò¤â¤È¤Ë¤¹¤ì¤Ð¡¢¤³¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¤Û¤ÜÆÉ¤ß¼è¤ì¤ë¡£ ÍѸìSymbol¤Î°ÕÌ£¤ÏÃΤäƤ¤¤ë¡£ ¤³¤³¤Ç¤Ï¡¢¥ê¥¹¥È¤ÎÀèÆ¬Í×ÁǤǤ¢¤ëñ¸ìthis¤ò°ÕÌ£¤¹¤ë¡£ ÍÑ¸ì´Ø¿ô¡Êfunction¡Ë¤Ë¤Ä¤¤¤Æ¤Ï°ìÅÙ½Ò¤Ù¤¿¡£ ¤³¤ì¤Ï½ÅÍפÊÍѸì¤Ç¤¢¤ë¡£ ¤³¤³¤Ç¤Ï¡¢´Ø¿ô¡Êfunction¡Ë¤È¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Ë²¿¤«¤ò¹Ô¤ï¤»¤ë¤¿¤á¤Î ¥³¥ó¥Ô¥å¡¼¥¿¤ËÂФ¹¤ë°ìÏ¢¤ÎÌ¿Îá¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤è¤¦ ¡Êµ»½ÑŪ¤Ë¤Ï¡¢¥·¥ó¥Ü¥ë¤Ï°ìÏ¢¤ÎÌ¿Îá¤òõ¤¹¾ì½ê¤ò»ØÄꤹ¤ë¤Î¤Ç¤¢¤ë¤¬¡¢ ¤³¤³¤Ç¤Ï¤½¤Î¾ÜºÙ¤Ï̵»ë¤Ç¤­¤ë¡Ë¡£

¤³¤ì¤Ç¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸Symbol's function definition is void: this ¤Î°ÕÌ£¤òÍý²ò¤Ç¤­¤ë¤Ï¤º¤Ç¤¢¤ë¡£ ¥·¥ó¥Ü¥ë¡Ê¤Ä¤Þ¤êñ¸ìthis¡Ë¤Ë¤Ï¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¤¬¼Â¹Ô¤¹¤Ù¤­¡¢¤¤¤«¤Ê¤ëÌ¿ÎáÎó¤âÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¢¤ë¡£

¥á¥Ã¥»¡¼¥¸function definition is void¤Îñ¸ì¤Î»È¤¤Êý¤¬ ¾¯¡¹ÊѤï¤Ã¤Æ¤ë¤Î¤Ï¡¢Emacs Lisp¤Î¼ÂÁõÊýË¡¤Ë½à¤¸¤Æ¤¤¤ë¤Î¤Ç¤¢¤ë¡£ ¤Ä¤Þ¤ê¡¢¥·¥ó¥Ü¥ë¤Ë´Ø¿ôÄêµÁ¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ Ì¿ÎáÎó¤ò³ÊǼ¤¹¤ë¾ì½ê¤Ï¡Övoid¡Ê¶õ¡Ë¡×¤Ë¤Ê¤ë¤Î¤Ç¤¢¤ë¡£

°ìÊý¤Ç¡¢(+ 2 2)¤òɾ²Á¤¹¤ë¤È2¤Ë2¤ò²Ã»»¤Ç¤­¤ë¤Î¤Ç¡¢ ¥·¥ó¥Ü¥ë+¤Ë¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤¬¼Â¹Ô¤¹¤Ù¤­Ì¿ÎáÎó¤¬Í¿¤¨¤é¤ì¤Æ¤ª¤ê¡¢ ¤·¤«¤â¡¢¤½¤ì¤é¤Ï+¤Ë³¤¯¿ô¤ò²Ã»»¤¹¤ëÌ¿Îá¤Ç¤¢¤ë¤È¿äÍý¤Ç¤­¤ë¡£


Node:Names & Definitions, Next:, Previous:Making Errors, Up:List Processing

¥·¥ó¥Ü¥ë̾¤È´Ø¿ôÄêµÁ

¤³¤ì¤Þ¤Ç¤ËÀâÌÀ¤·¤Æ¤­¤¿¤³¤È¤ò¤â¤È¤Ë¡¢Lisp¤ÎÊÌ¤ÎÆÃħ¤òÌÀ³Î¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ +¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤Ï¡¢¤½¤ì¼«¿È¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤¬¼Â¹Ô¤¹¤Ù¤­Ì¿ÎáÎó ¤Ç¤Ï¤Ê¤¤¤È¤¤¤¦½ÅÍ×¤ÊÆÃħ¤Ç¤¢¤ë¡£ ¤½¤Î¤«¤ï¤ê¤Ë¡¢ÄêµÁ¡¢¤¹¤Ê¤ï¤Á¡¢Ì¿ÎáÎó¤òõ¤¹¤¿¤á¤Ë ¥·¥ó¥Ü¥ë¤ò¡Ê°ì»þŪ¤Ë¡Ë»È¤¦¤Î¤Ç¤¢¤ë¡£ ¤ï¤ì¤ï¤ì¤¬¸«¤Æ¤¤¤ë¤â¤Î¤Ï¡¢Ì¿ÎáÎó¤òõ¤¹¤¿¤á¤Î̾Á°¤Ç¤¢¤ë¡£ ¿Í¤Î̾Á°¤âƱ¤¸¤è¤¦¤Ë»È¤ï¤ì¤ë¡£ É®¼Ô¤ÏBob¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¤¬¡¢»ä¤ÏB¡¢o¡¢b¤Î3ʸ»ú ¤Ç¤Ï¤Ê¤¯¡¢°Õ¼±¤Î¤¢¤ëÀ¸Ì¿ÂΤǤ¢¤ë¡£ ̾Á°¤½¤Î¤â¤Î¤Ï»ä¤Ç¤Ï¤Ê¤¯¡¢»ä¤ò»Ø¤¹¤¿¤á¤Ë̾Á°¤ò»È¤¦¤Î¤Ç¤¢¤ë¡£

Lisp¤Ç¤Ï¡¢1¤Ä¤ÎÌ¿ÎáÎó¤ËÊ£¿ô¤Î̾Á°¤ò·ë¤ÓÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¤¿¤È¤¨¤Ð¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Î²Ã»»Ì¿ÎáÎó¤ò¥·¥ó¥Ü¥ëplus¤Ë¤â+¤Ë¤â ·ë¤ÓÉÕ¤±¤é¤ì¤ë¡Ê¤½¤Î¤è¤¦¤ÊLisp¤ÎÊý¸À¤â¤¢¤ë¡Ë¡£ ¿Í´Ö¤ÎÀ¤³¦¤Ç¤â¡¢É®¼Ô¤òBob¤È¸Æ¤ó¤À¤êRobert¤È¸Æ¤ó¤À¤ê¤Ç¤­¡¢ ¤½¤ì°Ê³°¤Îñ¸ì¤Ç¤â¤è¤¤¡£

¤½¤Î°ìÊý¤Ç¡¢¥·¥ó¥Ü¥ë¤Ë¤Ï1¤Ä¤Î´Ø¿ôÄêµÁ¤·¤«·ë¤ÓÉÕ¤±¤é¤ì¤Ê¤¤¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢¤É¤Á¤é¤ÎÄêµÁ¤òºÎÍѤ¹¤Ù¤­¤«¥³¥ó¥Ô¥å¡¼¥¿¤¬º®Í𤹤롣 ¤³¤ì¤ò¿Í´Ö¤ÎÀ¤³¦¤ËÅö¤Æ¤Ï¤á¤ë¤È¡¢ Bob¤È¤¤¤¦Ì¾Á°¤ò»ý¤Ä¿Í¤ÏÀ¤³¦Ãæ¤Ç1¿Í¤Ë¸Â¤é¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£ ¤·¤«¤·¡¢Ì¾Á°¤¬»²¾È¤¹¤ë´Ø¿ôÄêµÁ¤òÊѹ¹¤¹¤ë¤Î¤ÏÍÆ°×¤Ç¤¢¤ë ¡ÊSee Install¡Ë¡£

Emacs Lisp¤ÏµðÂç¤Ê¤Î¤Ç¡¢´Ø¿ô¤¬Â°¤¹¤ëEmacs¤Î¹½À®Éôʬ¤¬¤ï¤«¤ë¤è¤¦¤Ë ¥·¥ó¥Ü¥ë¤ò̿̾¤¹¤ë´·½¬¤¬¤¢¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢Texinfo¤ò°·¤¦¤¹¤Ù¤Æ¤Î´Ø¿ô¤Î̾Á°¤Ïtexinfo-¤Ç»Ï¤Þ¤ê¡¢ ¥á¡¼¥ë¤òÆÉ¤à¤³¤È¤Ë´ØÏ¢¤¹¤ë´Ø¿ô¤Î̾Á°¤Ïrmail-¤Ç»Ï¤Þ¤ë¡£


Node:Lisp Interpreter, Next:, Previous:Names & Definitions, Up:List Processing

Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿

¤³¤ì¤Þ¤Ç¤ÎÀâÌÀ¤ò¤â¤È¤Ë¡¢¥ê¥¹¥È¤Îɾ²Á¤òLisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ËÌ¿¤¸¤ë¤È Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬²¿¤ò¤¹¤ë¤«¤òÍý²ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¤Þ¤º¡¢¥ê¥¹¥È¤ÎľÁ°¤Ë¥¯¥ª¡¼¥È¤¬¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£ ¥¯¥ª¡¼¥È¤¬¤¢¤ì¤Ð¡¢¥ê¥¹¥È¤òÊÖ¤¹¤À¤±¤Ç¤¢¤ë¡£ °ìÊý¡¢¥¯¥ª¡¼¥È¤¬¤Ê¤±¤ì¤Ð¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¥ê¥¹¥È¤ÎÀèÆ¬Í×ÁǤòÄ´¤Ù¡¢ ¤½¤ì¤Ë´Ø¿ôÄêµÁ¤¬¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£ ´Ø¿ôÄêµÁ¤¬¤¢¤ì¤Ð¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¤½¤Î´Ø¿ôÄêµÁÆâ¤ÎÌ¿ÎáÎó¤ò¼Â¹Ô¤¹¤ë¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë¡£

¤³¤ì¤¬Lisp¤Îưºî¤Ç¤¢¤ê¡¢Ã±½ã¤Ç¤¢¤ë¡£ ¤¹¤°¤ËÀâÌÀ¤¹¤ë¤¬¡¢¤³¤ì¤Ë²Ã¤¨¤ÆÊ£»¨¤Ê¤³¤È¤¬¤é¤â¤¢¤ë¤¬¡¢°Ê¾å¤¬´ðËܤǤ¢¤ë¡£ ÅöÁ³¡¢Lisp¥×¥í¥°¥é¥à¤ò½ñ¤¯¤Ë¤Ï¡¢´Ø¿ôÄêµÁ¤Î½ñ¤­Êý¡¢Ì¾Á°¤Ø¤Î·ë¤ÓÉÕ¤±Êý¡¢ ¤ª¤è¤Ó¡¢¤³¤ì¤é¤òÆÉ¼Ô¤ä¥³¥ó¥Ô¥å¡¼¥¿¤Ëº®Íð¤Î¤Ê¤¤¤è¤¦¤Ë¹Ô¤¦ÊýË¡¤òÃΤëɬÍפ¬¤¢¤ë¡£

¤Ç¤Ï¡¢Ê£»¨¤Ê¤³¤È¤¬¤é¤ÎºÇ½é¤Î¤³¤È¤òÀâÌÀ¤·¤è¤¦¡£ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢¥ê¥¹¥È¤Ë²Ã¤¨¤Æ¡¢ ¥¯¥ª¡¼¥È¤â¤»¤º³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤â¤¤¤Ê¤¤¥·¥ó¥Ü¥ë¤òɾ²Á¤Ç¤­¤ë¡£ ¤³¤Î¾ì¹ç¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢ ÊÑ¿ô¡Êvariable¡Ë¤È¤·¤Æ¤Î¥·¥ó¥Ü¥ë¤ÎÃͤò·èÄꤷ¤è¤¦¤È¤¹¤ë¡£ ¤³¤ì¤Ë¤Ä¤¤¤Æ¤ÏÊÑ¿ô¤Ë´Ø¤¹¤ëÀá¤ÇÀâÌÀ¤¹¤ë ¡ÊSee Variables¡Ë¡£

Ê£»¨¤Ê¤³¤È¤¬¤é¤Î2ÈÖÌܤϡ¢ÆÃ¼ì¤Ê´Ø¿ô¤¬¤¢¤ê¡¢ ¤³¤ì¤é¤ÏÉáÄ̤ÎÊý¼°¤Î¤è¤¦¤Ëưºî¤·¤Ê¤¤¤³¤È¤Ç¤¢¤ë¡£ ¤³¤ì¤é¤ò¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¡Êspecial forms¡Ë¤È¸Æ¤Ö¡£ ´Ø¿ô¤ÎÄêµÁ¤Ê¤É¤ÎÆÃ¼ì¤Ê¤³¤È¤ò¹Ô¤¦¤â¤Î¤Ç¤¢¤ê¡¢¤½¤ì¤é¤Î¸Ä¿ô¤Ï¿¤¯¤Ï¤Ê¤¤¡£ °Ê²¼¤Î¤¤¤¯¤Ä¤«¤Î¾Ï¤Ç¤Ï¡¢½ÅÍפʥ¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Î¤¤¤¯¤Ä¤«¤ò¾Ò²ð¤¹¤ë¡£

3ÈÖÌܤǺǸå¤ÎÊ£»¨¤Ê¤³¤È¤¬¤é¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬Ãµ¤·¤¢¤Æ¤¿´Ø¿ô¤¬¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ç¤Ê¤¯¡¢ ¤·¤«¤â¡¢¤½¤ì¤¬¥ê¥¹¥È¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¥ê¥¹¥È¤ÎÆâ¦¤Ë¥ê¥¹¥È¤¬¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£ Æâ¦¤Ë¥ê¥¹¥È¤¬¤¢¤ì¤Ð¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ÏÆâ¦¤Î¥ê¥¹¥È¤ò½èÍý¤·¤Æ¤«¤é¡¢ ³°Â¦¤Î¥ê¥¹¥È¤ò½èÍý¤¹¤ë¡£ Æâ¦¤Î¥ê¥¹¥È¤ÎÆâ¦¤Ë¤â¥ê¥¹¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¤½¤ì¤ò½èÍý¤·¤Æ¤«¤éÆâ¦¤Î¥ê¥¹¥È¤ò½èÍý¤¹¤ë¡£ ¤Ä¤Í¤Ë¡¢¤â¤Ã¤È¤âÆâ¦¤Î¥ê¥¹¥È¤òºÇ½é¤Ë½èÍý¤¹¤ë¡£ ¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¤â¤Ã¤È¤âÆâ¦¤Î¥ê¥¹¥È¤Î·ë²Ì¤òÆÀ¤ë¤¿¤á¤Ë¤½¤ì¤ò½èÍý¤¹¤ë¡£ ¤½¤Î·ë²Ì¤Ï¤½¤ì¤ò´Þ¤à¼°¤Ç»È¤ï¤ì¤ë¡£

¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ïº¸¤«¤é±¦¤Ø¤Î½ç¤Ç¼°¤ò1¤Ä¤º¤Ä½èÍý¤¹¤ë¡£


Node:Byte Compiling, Previous:Lisp Interpreter, Up:Lisp Interpreter

¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë

¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ë¤ÏÊ̤ΦÌ̤⤢¤ë¡£ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï2¼ïÎà¤Î¤â¤Î¤ò²ò¼á¤Ç¤­¤ë¡£ Ëܽñ¤Ç¼è¤ê¾å¤²¤Æ¤¤¤ë¿Í¤¬ÆÉ¤á¤ë·Á¼°¤Î¥³¡¼¥É¤È¡¢ ÆÃÊ̤ʽèÍý¤ò»Ü¤·¿Í¤Ë¤ÏÆÉ¤á¤Ê¤¤·Á¼°¤Î ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¡Êbyte compiled¡Ë¥³¡¼¥É¤Ç¤¢¤ë¡£ ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥³¡¼¥É¤Ï¡¢¿Í´Ö¸þ¤±¤Î¥³¡¼¥É¤ËÈæ¤Ù¤Æ¼Â¹Ô¤¬Â®¤¤¡£

byte-compile-file¤Î¤è¤¦¤Ê¥³¥ó¥Ñ¥¤¥ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ì¤Ð¡¢ ¿Í´Ö¸þ¤±¤Î¥³¡¼¥É¤ò¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¥³¡¼¥É¤ËÊÑ´¹¤Ç¤­¤ë¡£ ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¥³¡¼¥É¤Ï¡¢³ÈÄ¥»Ò.el¤Ç¤Ï¤Ê¤¯³ÈÄ¥»Ò.elc¤Ç ½ª¤ï¤ë¥Õ¥¡¥¤¥ë¤Ë¼ýÍÆ¤¹¤ë¤Î¤¬°ìÈÌŪ¤Ç¤¢¤ë¡£ ¥Ç¥£¥ì¥¯¥È¥êemacs/lisp¤Ë¤ÏξÊý¤Î¼ïÎà¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤¬¡¢ ÆÉ¤à¤Î¤Ï³ÈÄ¥»Ò.el¤Î¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¡£

¼ÂÍѾå¤Ï¡¢Emacs¤òÄ´À°¤·¤¿¤ê³ÈÄ¥¤·¤¿¤ê¤¹¤ë¤Î¤¬¤Û¤È¤ó¤É¤Ç¤¢¤í¤¦¤«¤é¡¢ ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפϤʤ¯¡¢¤³¤³¤Ç¤Ï¤³¤ì°Ê¾å¼è¤ê¾å¤²¤Ê¤¤¡£ ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯¤ÏSee Byte Compilation¡£


Node:Evaluation, Next:, Previous:Lisp Interpreter, Up:List Processing

ɾ¡¡²Á

Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬¼°¤ò½èÍý¤¹¤ë¤³¤È¤òɾ²Á¤¹¤ë¡Êevaluation¡Ë¤È¸Æ¤Ö¡£ ¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬¡Ö¼°¤òɾ²Á¤¹¤ë¡×¤È¤¤¤¦¡£ ¤³¤ì¤Þ¤Ç¤Ë¤â¡¢¤³¤ÎÍѸì¤ò²¿ÅÙ¤«»È¤Ã¤Æ¤­¤¿¡£ ¤³¤ÎÍѸì¤ÏÆü¾ï¤Î¸ÀÍջȤ¤¤«¤é¤­¤Æ¤¤¤ë¡£ ¤Ä¤Þ¤ê¡¢Webster's New Collegiate Dictionary¤Ë¤è¤ì¤Ð¡¢ ¡Ö²ÁÃͤäÎ̤ò¸«Äê¤á¤ë¡¢¸«ÀѤâ¤ë¤³¤È¡×¤Ç¤¢¤ë¡£

¼°¤òɾ²Á¤·½ª¤¨¤ë¤È¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢´Ø¿ôÄêµÁ¤ÇÍ¿¤¨¤é¤ì¤¿Ì¿ÎáÎó¤ò ¥³¥ó¥Ô¥å¡¼¥¿¤¬¼Â¹Ô¤·¤¿·ë²Ì¤òÊÖ¤¹¡Êreturn¡Ë¤Î¤¬°ìÈÌŪ¤Ç¤¢¤ë¤¬¡¢ ´Ø¿ô¤Î½èÍý¤òÄü¤á¤Æ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤¹¤ë¾ì¹ç¤â¤¢¤ë ¡Ê¥¤¥ó¥¿¡¼¥×¥ê¥¿¼«ÂΤòÊ̤δؿô¤ËÅϤ·¤¿¤ê¡¢ ¡Ö̵¸Â¥ë¡¼¥×¡×¤È¸Æ¤Ð¤ì¤ë̵À©¸Â¤ËƱ¤¸¤³¤È¤ò·«¤êÊÖ¤¹¤³¤È¤â¤¢¤ë¡£ ¤³¤ì¤é¤Îưºî¤Ï°ìÈÌŪ¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢¤³¤³¤Ç¤Ï̵»ë¤¹¤ë¤³¤È¤Ë¤¹¤ë¡Ë¡£ ¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ÏÃͤòÊÖ¤¹¡£

¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢ÃͤòÊÖ¤¹¤ÈƱ»þ¤Ë¡¢ ¥«¡¼¥½¥ë¤ò°Üư¤·¤¿¤ê¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤¿¤ê¤Ê¤É¤ÎÊÌ¤ÎÆ°ºî¤â¹Ô¤¦¡£ ¤³¤Î¼ï¤ÎÊÌ¤ÎÆ°ºî¤Ï¡¢ÉûºîÍÑ¡Êside effect¡Ë¤È¸Æ¤Ð¤ì¤ë¡£ ·ë²Ì¤Îɽ¼¨¤Ê¤É¤Î¿Í´Ö¤¬½ÅÍפȹͤ¨¤ëưºî¤Ï¡¢ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ë¤è¤Ã¤Æ¤Ï¡ÖÉûºîÍѡפǤ¢¤ë¤³¤È¤¬Â¿¤¤¡£ ¤³¤ÎÍѸì¤Ï´ñ̯¤Ëʹ¤³¤¨¤ë¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢ ÉûºîÍѤλȤ¤Êý¤ò³Ø¤Ö¤Î¤Ï¤«¤Ê¤ê´Êñ¤Ç¤¢¤ë¡£

¤Þ¤È¤á¤ë¤È¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢ ¥·¥ó¥Ü¥ê¥Ã¥¯¼°¤òɾ²Á¤¹¤ë¤È¤Û¤È¤ó¤É¤Î¾ì¹ç¤ÏÃͤòÊÖ¤¹¤¬¡¢ÉûºîÍѤòȼ¤¦¤³¤È¤â¤¢¤ë¡£ ¤¢¤ë¤¤¤Ï¡¢¥¨¥é¡¼¤òÀ¸À®¤¹¤ë¡£


Node:Evaluating Inner Lists, Previous:Evaluation, Up:Evaluation

Æâ¦¤Î¥ê¥¹¥È¤Îɾ²Á

Æâ¦¤Ë¥ê¥¹¥È¤ò´Þ¤ó¤À¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¤­¤Ë¤Ï¡¢ Æâ¦¤Î¥ê¥¹¥È¤òɾ²Á¤·¤ÆÆÀ¤é¤ì¤¿Ãͤò¡¢ ³°Â¦¤Î¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¤­¤Î¾ðÊó¤È¤·¤Æ»È¤¦¾ì¹ç¤¬¤¢¤ë¡£ ¤½¤Î¤¿¤á¤Ë¡¢Æâ¦¤Î¼°¤òºÇ½é¤Ëɾ²Á¤¹¤ë¤Î¤Ç¤¢¤ë¡£ ¤½¤ì¤¬ÊÖ¤·¤¿Ãͤò³°Â¦¤Î¼°¤Ç»ÈÍѤ¹¤ë¡£

¤³¤Î¤è¤¦¤Êɾ²Á¤Î²áÄø¤ò¡¢²Ã»»¤ÎÎãÂê¤ÇÄ´¤Ù¤ë¤³¤È¤Ë¤·¤è¤¦¡£ ¤Ä¤®¤Î¼°¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£

(+ 2 (+ 3 3))

¥¨¥³¡¼Îΰè¤Ë¤Ï¿ô8¤¬É½¼¨¤µ¤ì¤ë¡£

Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ç¹Ô¤ï¤ì¤ë¤³¤È¤Ï¡¢ ¤Þ¤ºÆâ¦¤Î¼°(+ 3 3)¤òɾ²Á¤¹¤ë¤³¤È¤Ç¤¢¤ê¡¢¤³¤ì¤ÏÃÍ6¤òÊÖ¤¹¡£ ³¤¤¤Æ¡¢³°Â¦¤Î¼°¤ò(+ 2 6)¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ëɾ²Á¤·¡¢¤³¤ì¤ÏÃÍ8¤òÊÖ¤¹¡£ ɾ²Á¤¹¤Ù¤­³°Â¦¤Î¼°¤Ï¤â¤¦¤Ê¤¤¤Î¤Ç¡¢ ¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¤³¤ÎÃͤò¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤¹¤ë¡£

¤µ¤Æ¡¢¥­¡¼ÎóC-x C-e¤Çµ¯Æ°¤µ¤ì¤ë¥³¥Þ¥ó¥É¤Î̾Á°¤òÍý²ò¤¹¤ë¤Î¤ÏÍÆ°×¤Ç¤¢¤ë¡£ ¥³¥Þ¥ó¥É¤Î̾Á°¤Ïeval-last-sexp¤Ç¤¢¤ë¡£ sexp¤Ï¡Ö¥·¥ó¥Ü¥ê¥Ã¥¯¼°¡Êsymbolic expression¡Ë¡×¤Îά¡¢ eval¤Ï¡Öɾ²Á¡Êevaluate¡Ë¡×¤Îά¤Ç¤¢¤ë¡£ ¥³¥Þ¥ó¥É¤Î°ÕÌ£¤Ï¡¢¡ÖľÁ°¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¼°¤òɾ²Á¤¹¤ë¡×¤Ç¤¢¤ë¡£

¼°¤Îľ¸å¤Î¹Ô¤ÎÀèÆ¬¤ä¼°¤ÎÆâ¦¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤Æ¤â¼°¤òɾ²Á¤Ç¤­¤ë¤«¤É¤¦¤« »î¤·¤Æ¤ß¤è¤¦¡£

¤Ä¤®¤Î¼°¤Ç»î¤·¤Æ¤ß¤ë¡£

(+ 2 (+ 3 3))

¼°¤Îľ¸å¤Î¶õ¹Ô¤ÎÀèÆ¬¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤·¤Æ¤â¡¢ ¥¨¥³¡¼Îΰè¤Ë¤ÏÃÍ8¤¬É½¼¨¤µ¤ì¤ë¡£ º£Å٤ϡ¢¼°¤ÎÆâ¦¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤Æ»î¤·¤Æ¤ß¤ë¡£ ºÇ¸å¤Î³ç¸Ì¤Î¤Þ¤¨¤Ë¡Ê¤Ä¤Þ¤ê¡¢É½¼¨¾å¤ÏºÇ¸å¤Î³ç¸Ì¤Î¾å¤Ë¡Ë ¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆÉ¾²Á¤¹¤ë¤È¡¢¥¨¥³¡¼Îΰè¤Ë¤ÏÃÍ6¤¬É½¼¨¤µ¤ì¤ë¡ª¡¡ ¥³¥Þ¥ó¥É¤Ï¼°(+ 3 3)¤òɾ²Á¤·¤¿¤«¤é¤Ç¤¢¤ë¡£

º£Å٤ϡ¢¿ô¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤Æ¤ß¤ë¡£ C-x C-e¤È¥¿¥¤¥×¤¹¤ë¤È¿ô¤½¤Î¤â¤Î¤òÆÀ¤ë¡£ Lisp¤Ç¤Ï¡¢¿ô¤òɾ²Á¤¹¤ë¤È¤½¤Î¿ô¤½¤Î¤â¤Î¤òÆÀ¤ë¤Î¤Ç¤¢¤ë¡£ ¤³¤ì¤¬¿ô¤È¥·¥ó¥Ü¥ë¤Î°ã¤¤¤Ç¤¢¤ë¡£ +¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤Ç»Ï¤Þ¤ë¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¡¢ +¤Ë·ë¤ÓÉÕ¤±¤¿´Ø¿ôÄêµÁ¤ÎÌ¿ÎáÎó¤ò¼Â¹Ô¤·¤¿·ë²Ì¤ÎÃͤòÆÀ¤ë¡£ ¤Ä¤®¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¤è¤¦¤Ë¡¢¥·¥ó¥Ü¥ë¤½¤Î¤â¤Î¤òɾ²Á¤¹¤ë¤ÈÊ̤Τ³¤È¤¬µ¯¤³¤ë¡£


Node:Variables, Next:, Previous:Evaluation, Up:List Processing

ÊÑ¡¡¿ô

Lisp¤Ç¤Ï¡¢¥·¥ó¥Ü¥ë¤Ë´Ø¿ôÄêµÁ¤ò·ë¤ÓÉÕ¤±¤ë¤è¤¦¤Ë¡¢ ¥·¥ó¥Ü¥ë¤ËÃͤò·ë¤ÓÉÕ¤±¤ë¤³¤È¤â¤Ç¤­¤ë¡£ ¤³¤ì¤é¤Î2¤Ä¤Ï°Û¤Ê¤ë¤â¤Î¤Ç¤¢¤ë¡£ ´Ø¿ôÄêµÁ¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤¬¿ë¹Ô¤¹¤ëÌ¿ÎáÎó¤Ç¤¢¤ë¡£ °ìÊý¤Ç¡¢Ãͤϡ¢¿ô¤ä̾Á°¤Ê¤É¤Î²¿¤«¤Ç¤¢¤ê¡¢Êѹ¹¤Ç¤­¤ë ¡Ê¤³¤ì¤¬¡¢¤½¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤¬ÊÑ¿ô¤È¸Æ¤Ð¤ì¤ëÍýͳ¤Ç¤¢¤ë¡Ë¡£ ¥·¥ó¥Ü¥ë¤ÎÃͤȤ·¤Æ¤Ï¡¢¥·¥ó¥Ü¥ë¡¢¿ô¡¢¥ê¥¹¥È¡¢Ê¸»úÎó¤Ê¤É¤Î Lisp¤ÎǤ°Õ¤Î¼°¤ò¼è¤ì¤ë¡£ Ãͤò»ý¤Ä¥·¥ó¥Ü¥ë¤ò¤·¤Ð¤·¤ÐÊÑ¿ô¡Êvariable¡Ë¤È¸Æ¤Ö¡£

¥·¥ó¥Ü¥ë¤Ë¤Ï´Ø¿ôÄêµÁ¤ÈÃͤÎξÊý¤òƱ»þ¤Ë·ë¤ÓÉÕ¤±¤Æ¤ª¤¯¤³¤È¤¬¤Ç¤­¤ë¡£ ¤³¤ì¤é2¤Ä¤ÏÊÌ¡¹¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï¡¢¥±¥ó¥Ö¥ê¥Ã¥¸¤È¤¤¤¦Ì¾¾Î¤¬¡¢¥Þ¥µ¥Á¥å¡¼¥»¥Ã¥Ä¤ÎÅÔ»Ô¤òɽ¤¹¤ÈƱ»þ¤Ë¡¢ ¡Ö°ÎÂç¤Ê¥×¥í¥°¥é¥ß¥ó¥°¥»¥ó¥¿¡¼¡×¤Î¤è¤¦¤Ê̾Á°¤ÎÉղðÀ­¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ë »÷¤Æ¤¤¤ë¡£

¤¢¤ë¤¤¤Ï¡¢¥·¥ó¥Ü¥ë¤Ïý¿Ú¤Ç¤¢¤ë¤È¹Í¤¨¤Æ¤Û¤·¤¤¡£ ´Ø¿ôÄêµÁ¤Ï¤¢¤ë°ú¤­½Ð¤·¤ËÆþ¤ì¤Æ¤¢¤ê¡¢ÃͤÏÊ̤ΰú¤­½Ð¤·¤ËÆþ¤ì¤Æ¤¢¤ë¤Î¤Ç¤¢¤ë¡£ ´Ø¿ôÄêµÁ¤ò¼ý¤á¤¿°ú¤­½Ð¤·¤ÎÃæ¿È¤òÊѤ¨¤ë¤³¤È¤Ê¤¯¡¢ Ãͤò¼ý¤á¤¿°ú¤­½Ð¤·¤ÎÃæ¿È¤òÊѹ¹¤Ç¤­¡¢¤½¤ÎµÕ¤â¤½¤¦¤Ç¤¢¤ë¡£

Ãͤò»ý¤Ä¥·¥ó¥Ü¥ë¤ÎÎã¤È¤·¤ÆÊÑ¿ôfill-column¤ò¼è¤ê¾å¤²¤è¤¦¡£ GNU Emacs¤Î³Æ¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¡¢¤³¤Î¥·¥ó¥Ü¥ë¤Ë72¤È¤«70¤ÎÃͤ¬ÀßÄꤵ¤ì¤ë¤¬¡¢ ¤½¤ì°Ê³°¤ÎÃͤξì¹ç¤â¤¢¤ë¡£ ¤³¤Î¥·¥ó¥Ü¥ë¤ÎÃͤòÄ´¤Ù¤ë¤Ë¤Ï¡¢¤½¤ì¤½¤Î¤â¤Î¤òɾ²Á¤¹¤ì¤Ð¤è¤¤¡£ GNU Emacs¤ÎInfo¤ÇÆÉ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¥·¥ó¥Ü¥ë¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£

fill-column

É®¼Ô¤Î¾ì¹ç¡¢C-x C-e¤È¥¿¥¤¥×¤¹¤ë¤ÈEmacs¤Ï¥¨¥³¡¼Îΰè¤Ë¿ô72¤òɽ¼¨¤¹¤ë¡£ ¤³¤ÎÃͤϡ¢É®¼Ô¤¬Ëܽñ¤ò¼¹É®Ãæ¤Ëfill-column¤ËÀßÄꤷ¤Æ¤¢¤ëÃͤǤ¢¤ë¡£ ÆÉ¼Ô¤ÎInfo¥Ð¥Ã¥Õ¥¡¤Ç¤Ï°Û¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡£ ÊÑ¿ô¤ÎÃͤȤ·¤ÆÊÖ¤µ¤ì¤¿Ãͤϡ¢´Ø¿ô¤ÎÌ¿ÎáÎó¤ò¼Â¹Ô¤·¤¿·ë²ÌÊÖ¤µ¤ì¤¿ÃÍ¤È ¤Þ¤Ã¤¿¤¯Æ±¤¸¤è¤¦¤Ëɽ¼¨¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤Û¤·¤¤¡£ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Î»ëÅÀ¤«¤é¤Ï¡¢¤É¤Á¤é¤âÊÖ¤µ¤ì¤¿ÃͤǤ¢¤ë¡£ Ãͤ¬µá¤Þ¤Ã¤Æ¤·¤Þ¤¨¤Ð¡¢¤½¤ì¤¬¤É¤Î¤è¤¦¤Ê¼°¤«¤éÆÀ¤é¤ì¤¿¤«¤Ï´Ø·¸¤Ê¤¤¤Î¤Ç¤¢¤ë¡£

¥·¥ó¥Ü¥ë¤Ë¤Ï¤É¤Î¤è¤¦¤ÊÃͤǤâ·ë¤ÓÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ÀìÌçÍѸì¤ò»È¤¨¤Ð¡¢ÊÑ¿ô¤Ë¤Ï¡¢72¤Î¤è¤¦¤Ê¿ô¡¢"such as this"¤Î¤è¤¦¤Êʸ»úÎó¡¢ (spruce pine oak)¤Î¤è¤¦¤Ê¥ê¥¹¥È¤ò«Çû¡Êbind¡Ë¤Ç¤­¤ë¡£ ÊÑ¿ô¤Ë´Ø¿ôÄêµÁ¤ò«Çû¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£

¥·¥ó¥Ü¥ë¤ËÃͤò«Çû¤¹¤ëÊýË¡¤Ï²¿Ä̤꤫¤¢¤ë¡£ 1¤Ä¤ÎÊýË¡¤Ï¡¢See set & setq¡£

fill-column¤ÎÃͤòÄ´¤Ù¤ë¤¿¤á¤Ëɾ²Á¤¹¤ë¤È¤­¤Ë¤Ï¡¢ ñ¸ìfill-column¤Î¼þ¤ê¤Ë¤Ï³ç¸Ì¤¬¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤Û¤·¤¤¡£ ¤³¤ì¤Ï¡¢fill-column¤ò´Ø¿ô̾¤È¤·¤Æ¤Ï»È¤ï¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£ fill-column¤¬¥ê¥¹¥È¤ÎÀèÆ¬Í×ÁǤÀ¤È¤¹¤ë¤È¡¢ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¤³¤ì¤Ë·ë¤ÓÉÕ¤±¤é¤ì¤¿´Ø¿ôÄêµÁ¤òõ¤½¤¦¤È¤¹¤ë¡£ ¤·¤«¤·¡¢fill-column¤Ë¤Ï´Ø¿ôÄêµÁ¤Ï¤Ê¤¤¡£ ¤Ä¤®¤òɾ²Á¤·¤Æ¤ß¤è¤¦¡£

(fill-column)
¤¹¤ë¤È¡¢¤Ä¤®¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÆÀ¤ë¡£

Symbol's function definition is void: fill-column


Node:Void Variable, Previous:Variables, Up:Variables

ÃͤΤʤ¤¥·¥ó¥Ü¥ë¤ËÂФ¹¤ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸

Ãͤ¬Â«Çû¤µ¤ì¤Æ¤¤¤Ê¤¤¥·¥ó¥Ü¥ë¤òɾ²Á¤¹¤ë¤È¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÆÀ¤ë¡£ ¤¿¤È¤¨¤Ð¡¢2­¤¹2¤ÎÎã¤òÍѤ¤¤ÆÄ´¤Ù¤Æ¤ß¤è¤¦¡£ ¤Ä¤®¤Î¼°¤Ç¡¢ºÇ½é¤Î¿ô2¤Î¤Þ¤¨¤Î+¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤Æ C-x C-e¤ò¥¿¥¤¥×¤¹¤ë¤È¡¢

(+ 2 2)

¤Ä¤®¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÆÀ¤ë¡£

Symbol's value as variable is void: +

¤³¤ì¤Ï¤Þ¤¨¤Ë¸«¤¿Symbol's function definition is void: this¤È¤Ï °ã¤¦¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ç¤¢¤ë¡£ ¤³¤³¤Ç¤Ï¡¢¥·¥ó¥Ü¥ë¤Ë¤ÏÊÑ¿ô¤È¤·¤Æ¤ÎÃͤ¬¤Ê¤¤¤Î¤Ç¤¢¤ë¡£ ¤Þ¤¨¤Î¾ì¹ç¤Ï¡¢¡Êthis¤È¤¤¤¦¡Ë¥·¥ó¥Ü¥ë¤Ë¤Ï´Ø¿ôÄêµÁ¤¬¤Ê¤«¤Ã¤¿¤Î¤Ç¤¢¤ë¡£

+¤Ç»î¤·¤¿¤³¤È¤Ï¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ë+¤òɾ²Á¤µ¤»¤Æ¡¢ ´Ø¿ôÄêµÁ¤Ç¤Ï¤Ê¤¯ÊÑ¿ô¤ÎÃͤòõ¤µ¤»¤¿¤Î¤Ç¤¢¤ë¡£ ¤½¤¦¤¹¤ë¤¿¤á¤Ë¡¢¼°¤òÊĤ¸¤ë³ç¸Ì¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¯¤«¤ï¤ê¤Ë¡¢ ¥·¥ó¥Ü¥ë¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤¿¡£ ¤½¤Î¤¿¤á¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ÏľÁ°¤ÎS¼°¡¢¤Ä¤Þ¤ê¡¢ +¤½¤Î¤â¤Î¤òɾ²Á¤·¤¿¤Î¤Ç¤¢¤ë¡£

+¤Ë¤Ï¡¢´Ø¿ôÄêµÁ¤Ï¤¢¤ë¤¬¡¢ÃͤÏ«Çû¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢ ÊÑ¿ô¤È¤·¤Æ¤Î¥·¥ó¥Ü¥ë¤ÎÃͤ϶õ¡Êvoid¡Ë¤Ç¤¢¤ë»Ý¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬ Êó¹ð¤µ¤ì¤¿¤Î¤Ç¤¢¤ë¡£


Node:Arguments, Next:, Previous:Variables, Up:List Processing

°ú¡¡¿ô

¤É¤Î¤è¤¦¤Ë´Ø¿ô¤Ë¾ðÊó¤¬ÅÁ¤¨¤é¤ì¤ë¤«¤ò¸«¤ë¤¿¤á¤Ë¡¢ ¤ªÆëÀ÷¤ß¤Î2­¤¹2¤ÎÎã¤ò»È¤Ã¤Æ¤ß¤è¤¦¡£ Lisp¤Ç¤Ï¡¢¤Ä¤®¤Î¤è¤¦¤Ë½ñ¤¯¡£

(+ 2 2)

¤³¤Î¼°¤òɾ²Á¤¹¤ë¤È¡¢¥¨¥³¡¼Îΰè¤Ë¤Ï¿ô4¤¬É½¼¨¤µ¤ì¤ë¡£ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬¹Ô¤Ã¤¿¤³¤È¤Ï¡¢+¤Î¤¢¤È¤Ë³¤¯¿ô¤Î²Ã»»¤Ç¤¢¤ë¡£

+¤¬²Ã»»¤·¤¿¿ô¤Î¤³¤È¤ò¡¢´Ø¿ô+¤Î°ú¿ô¡Êarguments¡Ë¤È¸Æ¤Ö¡£ ¤³¤ì¤é¤Î¿ô¤Ï¡¢´Ø¿ô¤ËÍ¿¤¨¤é¤ì¤¿¡¢¤Ä¤Þ¤ê¡¢ÅϤµ¤ì¤¿¾ðÊó¤Ç¤¢¤ë¡£

¡Öargument¡Ê°ú¿ô¡Ë¡×¤È¤¤¤¦ÍѸì¤Ï¿ô³Ø¤Ç¤ÎÍÑË¡¤«¤é¤­¤Æ¤ª¤ê¡¢ 2¿Í¤Î¤¢¤¤¤À¤ÎµÄÏÀ¤Î¤³¤È¤Ç¤Ï¤Ê¤¤¡£ ¤³¤³¤Ç¤Ï¡¢+¤È¤¤¤¦´Ø¿ô¤ØÍ¿¤¨¤é¤ì¤¿¾ðÊó¤ò°ÕÌ£¤¹¤ë¡£ Lisp¤Ç¤Ï¡¢´Ø¿ô¤ËÂФ¹¤ë°ú¿ô¤Ï¡¢¤½¤Î´Ø¿ô¤Î¤¢¤È¤Ë³¤¯¥¢¥È¥à¤ä¥ê¥¹¥È¤Ç¤¢¤ë¡£ ¤³¤ì¤é¤Î¥¢¥È¥à¤ä¥ê¥¹¥È¤òɾ²Á¤·¤ÆÊÖ¤µ¤ì¤¿Ãͤ¬´Ø¿ô¤ØÅϤµ¤ì¤ë¡£ ´Ø¿ô¤¬°Û¤Ê¤ì¤Ð¡¢É¬Íפʰú¿ô¤Î¸Ä¿ô¤â°Û¤Ê¤ê¡¢ °ú¿ô¤ò¤Þ¤Ã¤¿¤¯É¬ÍפȤ·¤Ê¤¤´Ø¿ô¤â¤¢¤ë¡£ 2


Node:Data types, Next:, Previous:Arguments, Up:Arguments

°ú¿ô¤Î¥Ç¡¼¥¿·¿

´Ø¿ô¤ËÅϤ¹¥Ç¡¼¥¿¤Î·¿¤Ï¡¢´Ø¿ô¤¬»ÈÍѤ¹¤ë¾ðÊó¤Î¼ïÎà¤Ë±þ¤¸¤Æ·è¤Þ¤ë¡£ +¤Ï¿ô¤ò²Ã»»¤¹¤ë¤Î¤Ç¡¢ +¤Î¤è¤¦¤Ê´Ø¿ô¤Ø¤Î°ú¿ô¤Ï¿ôÃͤǤ¢¤ëɬÍפ¬¤¢¤ë¡£ Ê̤δؿô¤Ç¤ÏÊ̤μïÎà¤Î¥Ç¡¼¥¿¤Î°ú¿ô¤¬É¬ÍפǤ¢¤ë¡£

¤¿¤È¤¨¤Ð¡¢´Ø¿ôconcat¤ÏÊ£¿ô¤Îʸ»úÎó¤ò·Ò¤¤¤Ç1¤Ä¤Îʸ»úÎó¤òÀ¸À®¤¹¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢°ú¿ô¤Ïʸ»úÎó¤Ç¤¢¤ë¡£ ʸ»úÎóabc¤Èdef¤ò·Ò¤°¡Êconcatinate¡Ë¤È¡¢ 1¤Ä¤Îʸ»úÎóabcdef¤¬ºî¤é¤ì¤ë¡£ ¤³¤ì¤Ï¤Ä¤®¤Î¼°¤òɾ²Á¤¹¤ë¤È¤ï¤«¤ë¡£

(concat "abc" "def")

¤³¤Î¼°¤òɾ²Á¤·¤ÆÆÀ¤é¤ì¤ëÃͤÏ"abcdef"¤Ç¤¢¤ë¡£

substring¤Î¤è¤¦¤Ê´Ø¿ô¤Ï¡¢°ú¿ô¤È¤·¤ÆÊ¸»úÎó¤È¿ô¤ò¼è¤ë¡£ ¤³¤Î´Ø¿ô¤Ïʸ»úÎó¤Î°ìÉôʬ¡¢¤Ä¤Þ¤ê¡¢Âè1°ú¿ô¤ÎÉôʬʸ»úÎó¤òÊÖ¤¹¡£ ¤³¤Î´Ø¿ô¤Ï3¤Ä¤Î°ú¿ô¤ò¼è¤ë¡£ Âè1°ú¿ô¤Ïʸ»úÎó¤Ç¤¢¤ê¡¢Âè2°ú¿ô¤ÈÂè3°ú¿ô¤Ï¿ô¤Ç¡¢ Éôʬʸ»úÎó¤Î³«»Ï°ÌÃ֤ȽªÎ»°ÌÃÖ¤ò¼¨¤¹¡£ ¤³¤ì¤é¤Î¿ô¤Ï¡¢Ê¸»úÎó¤ÎÀèÆ¬¤«¤é¤Î¡Ê¶õÇò¤ä¶çÆÉÅÀ¤ò´Þ¤à¡Ëʸ»ú¤Î¸Ä¿ô¤Ç¤¢¤ë¡£

¤¿¤È¤¨¤Ð¡¢¤Ä¤®¤òɾ²Á¤¹¤ë¤È¡¢

(substring "The quick brown fox jumped." 16 19)

¥¨¥³¡¼Îΰè¤Ë¤Ï"fox"¤Èɽ¼¨¤µ¤ì¤ë¡£ °ú¿ô¤Ï¡¢1¤Ä¤Îʸ»úÎó¤È2¤Ä¤Î¿ô¤Ç¤¢¤ë¡£

substring¤ËÅϤµ¤ì¤¿Ê¸»úÎó¤Ï¡¢ ¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿Ê£¿ô¤Îñ¸ì¤Ç¤Ï¤¢¤ë¤¬1¤Ä¤Î¥¢¥È¥à¤Ç¤¢¤ë¡£ Lisp¤Ï¡¢2¤Ä¤ÎÆó½Å°úÍÑÉä¤Î¤¢¤¤¤À¤Ë¤¢¤ë¤â¤Î¤ò¡¢ ¤¿¤È¤¨¶õÇò¤¬¤¢¤¤¤À¤Ë¤¢¤Ã¤Æ¤âʸ»úÎó¤È¤·¤Æ°·¤¦¡£ ´Ø¿ôsubstring¤Ï¡¢Â¾¤ÎÊýË¡¤Ç¤ÏÉÔ²Äʬ¤Ê¥¢¥È¥à¤«¤é°ìÉôʬ¤òÀÚ¤ê½Ð¤¹¤Î¤Ç¡¢ ¡Ö¥¢¥È¥àÊ´ºÕµ¡¡×¤Î°ì¼ï¤È¹Í¤¨¤Æ¤â¤è¤¤¡£ ¤·¤«¤·¡¢substring¤Ï¡¢Ê¸»úÎó¤Ç¤¢¤ë°ú¿ô¤«¤éÉôʬʸ»úÎó¤òÀÚ¤ê½Ð¤¹¤³¤È¤¬ ¤Ç¤­¤ë¤À¤±¤Ç¤¢¤ê¡¢¿ô¤ä¥·¥ó¥Ü¥ë¤Ê¤É¤Î¤½¤ì°Ê³°¤Î¼ïÎà¤Î¥¢¥È¥à¤Ï°·¤¨¤Ê¤¤¡£


Node:Args as Variable or List, Next:, Previous:Data types, Up:Arguments

°ú¿ô¤È¤·¤Æ¤ÎÊÑ¿ô¤ä¥ê¥¹¥È¤ÎÃÍ

°ú¿ô¤Ï¡¢É¾²Á¤·¤¿¤È¤­¤ËÃͤòÊÖ¤¹¥·¥ó¥Ü¥ë¤Ç¤â¤è¤¤¡£ ¤¿¤È¤¨¤Ð¡¢¥·¥ó¥Ü¥ëfill-column¤½¤Î¤â¤Î¤òɾ²Á¤¹¤ë¤È¿ô¤òÊÖ¤¹¡£ ¤³¤Î¿ô¤Ï²Ã»»¤Ë»È¤¨¤ë¡£ ¤Ä¤®¤Î¼°¤Î¤¦¤·¤í¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£

(+ 2 fill-column)

fill-column¤òñÆÈ¤Çɾ²Á¤·¤¿Ãͤè¤ê2¤À¤±Â礭¤ÊÃͤ¬ÆÀ¤é¤ì¤ë¡£ É®¼Ô¤Î¾ì¹ç¤Ë¤Ï¡¢fill-column¤ÎÃͤÏ72¤Ê¤Î¤Ç¡¢·ë²Ì¤Ï74¤Ç¤¢¤ë¡£

¤³¤Î¤è¤¦¤Ë¡¢É¾²Á¤¹¤ë¤ÈÃͤòÊÖ¤¹¥·¥ó¥Ü¥ë¤ò°ú¿ô¤Ë»È¤¨¤ë¤Î¤Ç¤¢¤ë¡£ ¤µ¤é¤Ë¡¢É¾²Á¤¹¤ë¤ÈÃͤòÊÖ¤¹¥ê¥¹¥È¤ò°ú¿ô¤Ë»È¤¦¤³¤È¤â¤Ç¤­¤ë¡£ ¤¿¤È¤¨¤Ð¡¢¤Ä¤®¤Î¼°¤Ç¤Ï¡¢´Ø¿ôconcat¤Ø¤Î°ú¿ô¤Ï¡¢ ʸ»úÎó"The "¤È" red foxes."¡¢ ¤µ¤é¤Ë¡¢¥ê¥¹¥È(+ 2 fill-column)¤Ç¤¢¤ë¡£

(concat "The " (+ 2 fill-column) " red foxes.")

¤³¤Î¼°¤òɾ²Á¤¹¤ë¤È¡¢¥¨¥³¡¼Îΰè¤Ë¤Ï"The 74 red foxes."¤Èɽ¼¨¤µ¤ì¤ë ¡ÊºÇ½ª·ë²Ì¤Îʸ»úÎó¤Ë¶õÇò¤¬´Þ¤Þ¤ì¤ë¤è¤¦¤Ë¡¢ ñ¸ìThe¤Îľ¸å¤Èñ¸ìred¤ÎľÁ°¤Ë¤Ï¶õÇò¤¬É¬ÍפǤ¢¤ë¡Ë¡£


Node:Variable Number of Arguments, Next:, Previous:Args as Variable or List, Up:Arguments

²ÄÊѸĿô¤Î°ú¿ô

concat¡¢+¡¢*¤Ê¤É¤Î¤¢¤ë¼ï¤Î´Ø¿ô¤Ï¡¢Ç¤°Õ¸Ä¿ô¤Î°ú¿ô¤ò¼è¤ë ¡Ê*¤Ï¾è»»¤Î¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡Ë¡£ ¤³¤ì¤Ï¡¢°Ê²¼¤Î¼°¤Î¤ª¤Î¤ª¤Î¤òÄ̾ï¤ÎÊýË¡¤Çɾ²Á¤¹¤ë¤È¤ï¤«¤ë¡£ =>¤Î¤¢¤È¤Î¥Æ¥­¥¹¥È¤¬¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤µ¤ì¡¢ =>¤Ï¡Ö¤Îɾ²Á·ë²Ì¤Ï¡×¤ÈÆÉ¤á¤Ð¤è¤¤¡£

¤Þ¤º¡¢´Ø¿ô¤Ë°ú¿ô¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£

(+)       => 0

(*)       => 1

¤Ä¤®¤Ï¡¢´Ø¿ô¤Ë°ú¿ô¤¬1¤Ä¤Î¾ì¹ç¤Ç¤¢¤ë¡£

(+ 3)     => 3

(* 3)     => 3

º£Å٤ϡ¢´Ø¿ô¤Ë°ú¿ô¤¬3¤Ä¤¢¤ë¾ì¹ç¤Ç¤¢¤ë¡£

(+ 3 4 5) => 12

(* 3 4 5) => 60


Node:Wrong Type of Argument, Next:, Previous:Variable Number of Arguments, Up:Arguments

°ú¿ô¤Ë¸í¤Ã¤¿·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»ØÄê

¸í¤Ã¤¿·¿¤Î°ú¿ô¤ò´Ø¿ô¤ØÅϤ¹¤È¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤¹¤ë¡£ ¤¿¤È¤¨¤Ð¡¢´Ø¿ô+¤Ï°ú¿ô¤È¤·¤Æ¿ô¤ò²¾Äꤹ¤ë¡£ ¿ô¤Î¤«¤ï¤ê¤Ë¥¯¥ª¡¼¥È¤·¤¿¥·¥ó¥Ü¥ëhello¤òÍ¿¤¨¤Æ¤ß¤è¤¦¡£ ¤Ä¤®¤Î¼°¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£

(+ 2 'hello)

¤½¤¦¤¹¤ë¤È¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÆÀ¤ë¡£ ²¿¤¬µ¯¤³¤Ã¤¿¤«¤È¤¤¤¦¤È¡¢+¤Ï¿ô2¤Ë'hello¤¬ÊÖ¤¹Ãͤò ²Ã»»¤·¤è¤¦¤È¤·¤¿¤Î¤À¤¬¡¢'hello¤¬ÊÖ¤·¤¿Ãͤϥ·¥ó¥Ü¥ëhello¤Ç¤¢¤ê¡¢ ¿ô¤Ç¤Ï¤Ê¤¤¡£ ²Ã»»¤Ç¤­¤ë¤Î¤Ï¿ô¤Î¤ß¤Ç¤¢¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢+¤Ï²Ã»»¤ò¼Â¹Ô¤Ç¤­¤Ê¤«¤Ã¤¿¤Î¤Ç¤¢¤ë¡£

ÉáÄÌ¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ÏÍ­ÍѤʤ褦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢ ÆÉ¤ßÊý¤¬¤ï¤«¤ì¤Ð°ÕÌ£¤¬¤ï¤«¤ë¡£ ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£

Wrong type argument: integer-or-marker-p, hello

¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ÎºÇ½é¤ÎÉôʬ¤Ï´Êñ¤Ç¡¢ Wrong type argument¡¢¤Ä¤Þ¤ê¡¢°ú¿ô¤Î·¿¤¬¤Þ¤Á¤¬¤Ã¤Æ¤¤¤ë¤Ç¤¢¤ë¡£ ¤Ä¤®¤Ï¡¢ÉԻ׵ĤÊÀìÌçÍѸì¤Çinteger-or-marker-p¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï¡¢+¤¬²¾Äꤹ¤ë°ú¿ô¤Î¼ïÎà¤òÅÁ¤¨¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ë¡£

¥·¥ó¥Ü¥ëinteger-or-marker-p¤Î°ÕÌ£¤Ï¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬ ÅϤµ¤ì¤¿¾ðÊó¡Ê°ú¿ô¤ÎÃ͡ˤ¬À°¿ô¡Ê¤Ä¤Þ¤ê¿ô¡Ë¤«¥Þ¡¼¥«¡¼¡Ê¥Ð¥Ã¥Õ¥¡Æâ¤Î°ÌÃÖ¤òɽ¤¹ ÆÃ¼ì¤Ê¥ª¥Ö¥¸¥§¥¯¥È¡Ë¤«¤É¤¦¤«¤òÄ´¤Ù¤è¤¦¤È¤·¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£ ¤Ä¤Þ¤ê¡¢²Ã»»¤¹¤Ù¤­À°¿ô¤¬+¤ËÍ¿¤¨¤é¤ì¤¿¤«¤É¤¦¤«¤ò¸¡ºº¤·¤¿¤Î¤Ç¤¢¤ë¡£ ¤³¤Î¤È¤­¡¢°ú¿ô¤¬¡¢Emacs Lisp¤ËÆÃÍ­¤Îµ¡Ç½¤Ç¤¢¤ë¥Þ¡¼¥«¡¼¤«¤É¤¦¤«¤â¸¡ºº¤¹¤ë ¡ÊEmacs¤Ç¤Ï¡¢¥Ð¥Ã¥Õ¥¡Æâ¤Î°ÌÃÖ¤ò¥Þ¡¼¥«¡¼¤Çµ­Ï¿¤¹¤ë¡£ ¥³¥Þ¥ó¥ÉC-@¤äC-<SPC>¤Ç¥Þ¡¼¥¯¤òÀßÄꤹ¤ë¤È¡¢ ¤½¤Î°ÌÃ֤ϥޡ¼¥«¡¼¤È¤·¤ÆÊݸ¤µ¤ì¤ë¡£ ¥Þ¡¼¥¯¤Ï¿ô¤È¤·¤Æ°·¤¦¤³¤È¤¬¤Ç¤­¡¢ ¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤«¤é¤Î¤½¤Î°ÌÃ֤ޤǤÎʸ»ú¤Î¸Ä¿ô¤Ç¤¢¤ë¡Ë¡£ Emacs Lisp¤Ç¤Ï¡¢+¤Ç¥Þ¡¼¥«¡¼°ÌÃ֤οôÃͤò¿ô¤È¤·¤Æ²Ã»»¤Ç¤­¤ë¡£

integer-or-marker-p¤Îp¤Ï¡¢ Lisp¥×¥í¥°¥é¥ß¥ó¥°¤ÎÁᤤ»þ´ü¤Ë»Ï¤Þ¤Ã¤¿´·½¬¤Ç¤¢¤ë¡£ p¤Ï¡Ö½Ò¸ì¡Êpredicate¡Ë¡×¤Îά¤Ç¤¢¤ë¡£ ½é´ü¤ÎLisp¸¦µæ¼Ô¤¬ÍѤ¤¤¿ÀìÌçÍѸì¤Ç¤Ï¡¢ ½Ò¸ì¤È¤Ï¤¢¤ëÀ­¼Á¤¬¿¿¤«µ¶¤«Ä´¤Ù¤ë´Ø¿ô¤ò°ÕÌ£¤¹¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢p¤¬¤¢¤ë¤³¤È¤Ç¡¢integer-or-marker-p¤Ï¡¢ Í¿¤¨¤é¤ì¤¿°ú¿ô¤¬À°¿ô¤Ç¤¢¤ë¤«¥Þ¡¼¥«¡¼¤Ç¤¢¤ë¤«¤Î¿¿µ¶¤òÄ´¤Ù¤ë´Ø¿ô¤Î̾Á°¤Ç¤¢¤ë ¤³¤È¤¬¤ï¤«¤ë¡£ p¤Ç½ª¤ï¤ë¤½¤Î¤Û¤«¤ÎLisp¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢ °ú¿ô¤ÎÃͤ¬0¤Ç¤¢¤ë¤«¤òÄ´¤Ù¤ë´Ø¿ôzerop¡¢ °ú¿ô¤¬¥ê¥¹¥È¤Ç¤¢¤ë¤«¤òÄ´¤Ù¤ë´Ø¿ôlistp¤¬¤¢¤ë¡£

¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ÎºÇ¸å¤ÎÉôʬ¤Ï¥·¥ó¥Ü¥ëhello¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï+¤ËÅϤµ¤ì¤¿°ú¿ô¤ÎÃͤǤ¢¤ë¡£ Àµ¤·¤¤·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤¬²Ã»»¤ËÅϤµ¤ì¤ì¤Ð¡¢ ÅϤµ¤ì¤¿ÃͤÏhello¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤Ç¤Ï¤Ê¤¯37¤Î¤è¤¦¤Ê¿ô¤Ç¤¢¤ë¤Ï¤º¤Ç¤¢¤ë¡£ ¤½¤¦¤Ç¤¢¤Ã¤¿¤Ê¤é¤Ð¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤«¤Ã¤¿¤Î¤Ç¤¢¤ë¡£


Node:message, Previous:Wrong Type of Argument, Up:Arguments

´Ø¿ômessage

+¤Î¤è¤¦¤Ë¡¢´Ø¿ômessage¤ÏǤ°Õ¸Ä¿ô¤Î°ú¿ô¤ò¼è¤ë¡£ ¤³¤Î´Ø¿ô¤Ï¥æ¡¼¥¶¡¼¤Ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë»È¤¦¤Î¤Ç¡¢ ¤³¤³¤ÇÀâÌÀ¤·¤Æ¤ª¤¯¤Î¤¬¤è¤¤¤Ç¤¢¤í¤¦¡£

¥á¥Ã¥»¡¼¥¸¤Ï¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤µ¤ì¤ë¡£ ¤¿¤È¤¨¤Ð¡¢¤Ä¤®¤Î¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¡¢¥¨¥³¡¼Îΰè¤Ë¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¡£

(message "This message appears in the echo area!")

Æó½Å°úÍÑÉä¤Î¤¢¤¤¤À¤Îʸ»úÎó¤Ï1¤Ä¤Î°ú¿ô¤Ç¤¢¤ê¡¢°ì²ô¤Çɽ¼¨¤µ¤ì¤ë ¡Ê¤³¤³¤Ç¤ÎÎã¤Ç¤Ï¡¢¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤ÏÆó½Å°úÍÑÉä¤Ç°Ï¤Þ¤ì¤ë¡£ ¤³¤ì¤Ï¡¢´Ø¿ômessage¤¬ÊÖ¤·¤¿Ãͤò¸«¤Æ¤¤¤ë¤«¤é¤Ç¤¢¤ë¡£ ¥×¥í¥°¥é¥àÆâ¤Ç¤Îmessage¤Î¤Û¤È¤ó¤É¤Î»È¤¤Êý¤Ç¤Ï¡¢ ÉûºîÍѤȤ·¤Æ¥¨¥³¡¼Îΰè¤Ë¥Æ¥­¥¹¥È¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¡¢ ɽ¼¨¤Ë¤Ï°úÍÑÉä¤Ï´Þ¤Þ¤ì¤Ê¤¤¡£ ¤³¤Î¤è¤¦¤ÊÎã¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯¤Ï¡¢ See multiply-by-seven in detail¡Ë¡£

¤µ¤Æ¡¢Ê¸»úÎó¤ÎÃæ¤Ë%s¤¬¤¢¤ë¾ì¹ç¡¢ ´Ø¿ômessage¤Ï%s¤ò¤½¤Î¤È¤ª¤ê¤Ëɽ¼¨¤¹¤ë¤³¤È¤Ï¤Ê¤¯¡¢ ʸ»úÎó¤Î¤¢¤È¤Ë³¤¯°ú¿ô¤òÄ´¤Ù¤ë¡£ Âè2°ú¿ô¤òɾ²Á¤·¡¢¤½¤ÎÃͤòʸ»úÎó¤Î%s¤Î°ÌÃÖ¤Ëɽ¼¨¤¹¤ë¡£

¤Ä¤®¤Î¼°¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤·¤Æ¤ß¤ë¡£

(message "The name of this buffer is: %s." (buffer-name))

Info¤Ç¤Ï¡¢¥¨¥³¡¼Îΰè¤Ë"The name of this buffer is: *info*."¤È ɽ¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¢¤ë¡£ ´Ø¿ôbuffer-name¤Ï¥Ð¥Ã¥Õ¥¡Ì¾¤òʸ»úÎó¤È¤·¤ÆÊÖ¤·¡¢ ¤½¤ì¤ò´Ø¿ômessage¤¬%s¤Î°ÌÃÖ¤ËÁÞÆþ¤¹¤ë¡£

Ãͤò10¿Ê¿ô¤È¤·¤ÆÉ½¼¨¤¹¤ë¤Ë¤Ï%s¤Î¤«¤ï¤ê¤Ë%d¤ò»È¤¦¡£ ¤¿¤È¤¨¤Ð¡¢fill-column¤ÎÃͤò´Þ¤ó¤À¥á¥Ã¥»¡¼¥¸¤ò¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤¹¤ë¤Ë¤Ï ¤Ä¤®¤Î¼°¤òɾ²Á¤¹¤ë¡£

(message "The value of fill-column is %d." fill-column)

É®¼Ô¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤³¤Î¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¥¨¥³¡¼Îΰè¤Ë "The value of fill-column is 72."¤Èɽ¼¨¤µ¤ì¤ë¡£

ʸ»úÎó¤ÎÃæ¤ËÊ£¿ô¤Î%s¤¬¤¢¤ì¤Ð¡¢ ʸ»úÎó¤Î¤¢¤È¤Ë³¤¯ºÇ½é¤Î°ú¿ô¤ÎÃͤ¬ºÇ½é¤Î%s¤Î°ÌÃÖ¤Ëɽ¼¨¤µ¤ì¡¢ 2ÈÖÌܤΰú¿ô¤ÎÃͤ¬2ÈÖÌܤÎ%s¤Î°ÌÃÖ¤Ëɽ¼¨¤µ¤ì¤ë¤È³¤¯¡£ ¤¿¤È¤¨¤Ð¡¢¤Ä¤®¤Î¼°¤òɾ²Á¤¹¤ë¤È

(message "There are %d %s in the office!"
         (- fill-column 14) "pink elephants")

¥¨¥³¡¼Îΰè¤Ë¾¯¡¹Ì¯¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¡£ É®¼Ô¤Î¥·¥¹¥Æ¥à¤Ç¤Ï"There are 58 pink elephants in the office!"¤È¤Ê¤ë¡£

¼°(- fill-column 14)¤¬É¾²Á¤µ¤ì¡¢ ¤½¤Î·ë²Ì¤Î¿ô¤¬%d¤Î°ÌÃÖ¤ËÁÞÆþ¤µ¤ì¤ë¡£ Æó½Å°úÍÑÉä¤ÎÃæ¤Îʸ»úÎó"pink elephants"¤Ï 1¤Ä¤Î°ú¿ô¤È¤·¤Æ°·¤ï¤ì¤Æ%s¤Î°ÌÃÖ¤ËÁÞÆþ¤µ¤ì¤ë ¡Ê¤Ä¤Þ¤ê¡¢¿ô¤ÈƱÍͤˡ¢Æó½Å°úÍÑÉä¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¤òɾ²Á¤¹¤ë¤È¤½¤ì¼«¿È¤È¤Ê¤ë¡Ë¡£

ºÇ¸å¤Ï¾¯¡¹Ê£»¨¤ÊÎã¤Ç¡¢¿ô¤Î·×»»¤ò¼¨¤¹¤È¤È¤â¤Ë¡¢ %s¤ÈÃÖ¤­´¹¤ï¤ë¥Æ¥­¥¹¥È¤òÀ¸À®¤¹¤ë¼°¤ò¼°¤ÎÆâ¦¤Ç»È¤¦ÊýË¡¤ò¼¨¤¹¡£

(message "He saw %d %s"
         (- fill-column 34)
         (concat "red "
                 (substring
                  "The quick brown foxes jumped." 16 21)
                 " leaping."))

¤³¤ÎÎã¤Ç¤Ï¡¢message¤Ë¤Ï¡¢Ê¸»úÎó"He saw %d %s"¡¢ ¼°(- fill-column 32)¡¢´Ø¿ôconcat¤Ç»Ï¤Þ¤ë¼°¤Î3¤Ä¤Î°ú¿ô¤¬¤¢¤ë¡£ (- fill-column 32)¤òɾ²Á¤·¤¿·ë²Ì¤Ï%d¤Î°ÌÃÖ¤ËÁÞÆþ¤µ¤ì¡¢ concat¤Ç»Ï¤Þ¤ë¼°¤ÎÃͤÏ%s¤Î°ÌÃÖ¤ËÁÞÆþ¤µ¤ì¤ë¡£

É®¼Ô¤Î¾ì¹ç¡¢¤³¤Î¼°¤òɾ²Á¤¹¤ë¤È¥¨¥³¡¼Îΰè¤Ë "He saw 38 red foxes leaping."¤Èɽ¼¨¤µ¤ì¤ë¡£


Node:set & setq, Next:, Previous:Arguments, Up:List Processing

ÊÑ¿ô¤Ø¤ÎÃͤÎÀßÄê

ÊÑ¿ô¤ËÃͤòÍ¿¤¨¤ëÊýË¡¤Ï¤¤¤¯¤Ä¤«¤¢¤ë¡£ 1¤Ä¤ÎÊýË¡¤Ï´Ø¿ôset¤«´Ø¿ôsetq¤ò»È¤¦¤³¤È¤Ç¤¢¤ë¡£ Ê̤ÎÊýË¡¤Ïlet¡Êsee let¡Ë¤ò»È¤¦¤³¤È¤Ç¤¢¤ë ¡Ê¤³¤Î²áÄø¤òÀìÌçÍѸì¤Ç¤ÏÊÑ¿ô¤òÃͤË«Çû¡Êbind¡Ë¤¹¤ë¤È¤¤¤¦¡Ë¡£

¤Ä¤®¤ÎÀá¤Ç¤Ïset¤Èsetq¤Îưºî¤òÀâÌÀ¤¹¤ë¤È¤È¤â¤Ë¡¢ °ú¿ô¤¬¤É¤Î¤è¤¦¤ËÅϤµ¤ì¤ë¤«¤âÀâÌÀ¤¹¤ë¡£


Node:Using set, Next:, Previous:set & setq, Up:set & setq

set¤Î»È¤¤Êý

¥·¥ó¥Ü¥ëflowers¤ÎÃͤȤ·¤Æ¥ê¥¹¥È'(rose violet daisy buttercup)¤ò ÀßÄꤹ¤ë¤Ë¤Ï¡¢¤Ä¤®¤Î¼°¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤ò°Üư¤·¤ÆC-x C-e¤È¥¿¥¤¥×¤·¤Æ ¼°¤òɾ²Á¤¹¤ë¡£

(set 'flowers '(rose violet daisy buttercup))

¥¨¥³¡¼Îΰè¤Ë¤Ï¡¢¥ê¥¹¥È(rose violet daisy buttercup)¤¬É½¼¨¤µ¤ì¤ë¡£ ¤³¤ì¤Ï¡¢´Ø¿ôset¤¬ÊÖ¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£ ÉûºîÍѤȤ·¤Æ¡¢¥·¥ó¥Ü¥ëflowers¤Ë¥ê¥¹¥È¤¬Â«Çû¤µ¤ì¤ë¡£ ¤Ä¤Þ¤ê¡¢¥·¥ó¥Ü¥ëflowers¤ÏÊÑ¿ô¤È¤ß¤Ê¤µ¤ì¡¢ ¤½¤ÎÃͤȤ·¤Æ¥ê¥¹¥È¤¬Í¿¤¨¤é¤ì¤ë¤Î¤Ç¤¢¤ë ¡ÊÃͤòÀßÄꤹ¤ë¤³¤Î²áÄø¤Ï¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ë¤È¤Ã¤Æ¤ÏÉûºîÍѤǤ¢¤ë¤¬¡¢ ¿Í´Ö¤Ë¤È¤Ã¤Æ¤Ï¶½Ì£¤Î¤¢¤ë¼çÍפʸú²Ì¤Ç¤¢¤ë¡£ ³ÆLisp´Ø¿ô¤Ï¥¨¥é¡¼¤¬¤Ê¤±¤ì¤ÐÃͤòÊÖ¤¹É¬Íפ¬¤¢¤ë¤¬¡¢ ´Ø¿ô¤ÎÌÜŪ¤ÏÉûºîÍѤÀ¤±¤Î¾ì¹ç¤â¤¢¤ë¡Ë¡£

set¼°¤òɾ²Á¤·¤¿¤¢¤È¤Ï¡¢¥·¥ó¥Ü¥ëflowers¤òɾ²Á¤¹¤ë¤³¤È¤¬¤Ç¤­¡¢ ÀßÄꤷ¤¿Ãͤ¬ÊÖ¤µ¤ì¤ë¡£ ¤Ä¤®¤Î¥·¥ó¥Ü¥ë¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£

flowers

flowers¤òɾ²Á¤¹¤ë¤È¡¢ ¥¨¥³¡¼Îΰè¤Ë¥ê¥¹¥È(rose violet daisy buttercup)¤¬É½¼¨¤µ¤ì¤ë¡£

'flowers¡¢¤Ä¤Þ¤ê¡¢Ä¾Á°¤Ë¥¯¥ª¡¼¥È¤òÃÖ¤¤¤¿ÊÑ¿ô¤òɾ²Á¤¹¤ë¤È¡¢ ¥¨¥³¡¼Îΰè¤Ë¤Ï¥·¥ó¥Ü¥ëflowers¤½¤Î¤â¤Î¤¬É½¼¨¤µ¤ì¤ë¡£ ¤Ä¤®¤ÎÎã¤ò»î¤·¤Æ¤ß¤è¤¦¡£

'flowers

set¤ò»È¤¦¾ì¹ç¡¢¤¤¤º¤ì¤Î°ú¿ô¤âɾ²Á¤·¤Æ¤Û¤·¤¯¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢ ξÊý¤Î°ú¿ô¤ò¥¯¥ª¡¼¥È¤¹¤ëɬÍפ¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤Û¤·¤¤¡£ ¾å¤ÎÎã¤Ç¤Ï¡¢ÊÑ¿ôflowers¤â¥ê¥¹¥È(rose violet daisy buttercup)¤â ɾ²Á¤·¤¿¤¯¤Ê¤¤¤Î¤Ç¡¢Î¾¼Ô¤ò¥¯¥ª¡¼¥È¤·¤¿ ¡Êset¤ÎÂè1°ú¿ô¤ò¥¯¥ª¡¼¥È¤»¤º¤Ë»È¤¦¤È¡¢¤Þ¤ººÇ½é¤ËÂè1°ú¿ô¤¬É¾²Á¤µ¤ì¤ë¡£ ¾å¤ÎÎã¤Ç¤³¤ì¤ò¹Ô¤¦¤È¡¢flowers¤Ë¤ÏÃͤ¬¤Ê¤¤¤Î¤Ç¡¢ Symbol's value as variable is void¤È¤¤¤¦¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÆÀ¤ë¡£ °ìÊý¡¢flowers¤òɾ²Á¤·¤ÆÃͤ¬ÊÖ¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢ set¤Ï¤½¤ÎÊÖ¤µ¤ì¤¿ÃͤËÃͤòÀßÄꤷ¤è¤¦¤È¤¹¤ë¡£ ¤³¤Î¤è¤¦¤Ë´Ø¿ô¤òưºî¤µ¤»¤¿¤¤¾ìÌ̤⤢¤ë¤¬¡¢¤½¤Î¤è¤¦¤Ê¾ìÌ̤Ͼ¯¤Ê¤¤¡Ë¡£


Node:Using setq, Next:, Previous:Using set, Up:set & setq

setq¤Î»È¤¤Êý

¼ÂÍѾ塢set¤ÎÂè1°ú¿ô¤ò¤Û¤È¤ó¤É¤Ä¤Í¤Ë¥¯¥ª¡¼¥È¤¹¤ë¤Ï¤º¤Ç¤¢¤ë¡£ set¤ÇÂè1°ú¿ô¤ò¥¯¥ª¡¼¥È¤¹¤ëÁȤ߹ç¤ï¤»¤Ï¿ÍѤµ¤ì¤ë¤Î¤Ç¡¢ ¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àsetq¤¬ÍѰդ·¤Æ¤¢¤ë¡£ ¤³¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ïset¤È¤Û¤È¤ó¤ÉƱ¤¸¤Ç¤¢¤ë¤¬¡¢ Âè1°ú¿ô¤ò¼«Æ°Åª¤Ë¥¯¥ª¡¼¥È¤¹¤ë¤Î¤Ç¡¢°úÍÑÉä¤ò¥¿¥¤¥×¤¹¤ëɬÍפϤʤ¤¡£ ¤µ¤é¤Ë¡¢ÊØÍø¤Ê¤è¤¦¤Ë¡¢setq¤Ç¤Ï¡¢Ê£¿ô¤Î°Û¤Ê¤ëÊÑ¿ô¤Ë°Û¤Ê¤ëÃͤò 1¤Ä¤Î¼°¤ÇÀßÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£

setq¤òÍѤ¤¤Æ¡¢ÊÑ¿ôcarnivores¤ÎÃͤò ¥ê¥¹¥È'(lion tiger leopard)¤È¤¹¤ë¤Ë¤Ï¡¢¤Ä¤®¤Î¼°¤ò»È¤¦¡£

(setq carnivores '(lion tiger leopard))

¤³¤ì¤Ïset¤òÍѤ¤¤¿¾ì¹ç¤È¤Û¤ÜƱ¤¸¤Ç¤¢¤ë¤¬¡¢ setq¤Ç¤ÏÂè1°ú¿ô¤ò¼«Æ°Åª¤Ë¥¯¥ª¡¼¥È¤¹¤ë¤Î¤¬°Û¤Ê¤ë ¡Êsetq¤Îq¤Ï¡¢¥¯¥ª¡¼¥È¡Êquote¡Ë¤ò°ÕÌ£¤¹¤ë¡Ë¡£ set¤òÍѤ¤¤ë¾ì¹ç¤Ï¡¢¤Ä¤®¤Î¤è¤¦¤Ë¤¹¤ë¡£

(set 'carnivores '(lion tiger leopard))

¤µ¤é¤Ë¡¢setq¤Ï¡¢Ê£¿ô¤Î°Û¤Ê¤ëÊÑ¿ô¤Ë°Û¤Ê¤ëÃͤòÂåÆþ¤¹¤ë¤¿¤á¤Ë¤â»È¤¨¤ë¡£ Âè1°ú¿ô¤Ë¤ÏÂè2°ú¿ô¤ÎÃͤò«Çû¤·¡¢Âè3°ú¿ô¤Ë¤ÏÂè4°ú¿ô¤ÎÃͤò«Çû¤·¡¢¡Ä¡Ä¤È³¤¯¡£ ¤¿¤È¤¨¤Ð¡¢¥·¥ó¥Ü¥ëtrees¤Ë¼ùÌÚ̾¤Î¥ê¥¹¥È¤ò¡¢ ¥·¥ó¥Ü¥ëherbivores¤Ë¥Ï¡¼¥Ö¤Î̾Á°¤Î¥ê¥¹¥È¤òÂåÆþ¤¹¤ë¤Ë¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤¹¤ë¡£

(setq trees '(pine fir oak maple)
      herbivores '(gazelle antelope zebra))

¡Ê¼°¤ò1¹Ô¤Ë½ñ¤¤¤Æ¤â¤è¤¤¤¬¡¢¥Ú¡¼¥¸¤ÎÉý¤Ë¼ý¤Þ¤é¤Ê¤¤¡£ ¿Í´Ö¤Ë¤Ï¡¢Å¬Àڤ˥ե©¡¼¥Þ¥Ã¥È¤·¤¿¥ê¥¹¥È¤ÏÆÉ¤ß¤ä¤¹¤¤¤â¤Î¤Ç¤¢¤ë¡£¡Ë

¡ÖÂåÆþ¡×¤È¤¤¤¦ÍѸì¤òÍѤ¤¤¿¤¬¡¢set¤äsetq¤Îưºî¤ò¹Í¤¨¤ë Ê̤ÎÊýË¡¤â¤¢¤ë¡£ ¤Ä¤Þ¤ê¡¢set¤äsetq¤Ï¡¢¥·¥ó¥Ü¥ë¤¬¥ê¥¹¥È¤ò»Ø¤¹¡Êpoint¡Ë ¤è¤¦¤Ë¤¹¤ë¤Î¤Ç¤¢¤ë¡£ ¤³¤Î¹Í¤¨Êý¤ÏÈó¾ï¤Ë¤è¤¯»È¤ï¤ì¡¢¤¦¤·¤í¤Î¾Ï¤Ç¤Ï¡¢Ì¾Á°¤Î°ìÉô¤Ë¡Öpointer¡×¤¬¤¢¤ë ¥·¥ó¥Ü¥ë¤ò¸«¤ë¤³¤È¤Ë¤Ê¤ë¡£ ¤³¤Î̾¾Î¤Ï¡¢¥·¥ó¥Ü¥ë¤Ë¤ÏÆÃ¤Ë¥ê¥¹¥È¤Ê¤É¤ÎÃͤ¬·ë¤ÓÉÕ¤±¤é¤Æ¤¤¤ë¡¢ ¤¢¤ë¤¤¤Ï¡¢¥·¥ó¥Ü¥ë¤¬¥ê¥¹¥È¤ò¡Ö»Ø¤¹¡×¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤³¤È¤ËͳÍ褹¤ë¡£


Node:Counting, Previous:Using setq, Up:set & setq

¿ô¤¨¾å¤²

¤³¤³¤Ç¤Ï¥«¥¦¥ó¥¿¤Çsetq¤ò»È¤¦ÊýË¡¤ò¼¨¤½¤¦¡£ ¥×¥í¥°¥é¥à¤Î¤¢¤ëÉôʬ¤ò²¿²ó·«¤êÊÖ¤·¤¿¤«¤ò¿ô¤¨¾å¤²¤ë¤¿¤á¤Ë»È¤¨¤ë¡£ ¤Þ¤º¡¢ÊÑ¿ô¤Ë0¤òÀßÄꤹ¤ë¡£ ¤½¤·¤Æ¡¢¥×¥í¥°¥é¥à¤ò·«¤êÊÖ¤¹¤¿¤Ó¤Ë1¤ò²Ã¤¨¤ë¡£ ¤½¤Î¤¿¤á¤Ë¤Ï¡¢¥«¥¦¥ó¥¿¤ÎÌò³ä¤ò²Ì¤¿¤¹ÊÑ¿ô¤È2¤Ä¤Î¼°¡¢¤Ä¤Þ¤ê¡¢ ¥«¥¦¥ó¥¿ÊÑ¿ô¤ò0¤Ë½é´ü²½¤¹¤ësetq¤òÍѤ¤¤¿¼°¤È¡¢ ɾ²Á¤¹¤ë¤¿¤Ó¤Ë¥«¥¦¥ó¥¿¤òÁý²Ã¤¹¤ësetq¤òÍѤ¤¤¿¼°¤¬É¬ÍפǤ¢¤ë¡£

(setq counter 0)                ; ½é´ü²½¼°

(setq counter (+ counter 1))    ; Áý²Ã¼°

counter                         ; ¥«¥¦¥ó¥¿

¡Ê;°Ê¹ß¤Î¥Æ¥­¥¹¥È¤ÏÃí¼á¤Ç¤¢¤ë¡£ See Change a defun¡£¡Ë

¤³¤ì¤é¤ÎºÇ½é¤Î¼°¡¢¤Ä¤Þ¤ê¡¢½é´ü²½¼°(setq counter 0)¤òɾ²Á¤·¤Æ¤«¤é 3ÈÖÌܤμ°counter¤òɾ²Á¤¹¤ë¤È¡¢¥¨¥³¡¼Îΰè¤Ë¤Ï¿ô0¤¬É½¼¨¤µ¤ì¤ë¡£ ³¤¤¤Æ¡¢2ÈÖÌܤμ°¡¢Áý²Ã¼°(setq counter (+ counter 1))¤òɾ²Á¤¹¤ë¤È¡¢ ¥«¥¦¥ó¥¿¤ÎÃͤÏ1¤Ë¤Ê¤ë¡£ ¤½¤Î¤¿¤á¡¢¤Õ¤¿¤¿¤Ócounter¤òɾ²Á¤¹¤ë¤È ¥¨¥³¡¼Îΰè¤Ë¤Ï¿ô1¤¬É½¼¨¤µ¤ì¤ë¡£ 2ÈÖÌܤμ°¤òɾ²Á¤¹¤ë¤¿¤Ó¤Ë¡¢¥«¥¦¥ó¥¿¤ÎÃͤÏÁý²Ã¤¹¤ë¡£

Áý²Ã¼°(setq counter (+ counter 1))¤òɾ²Á¤¹¤ë¤È¤­¡¢ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢¤â¤Ã¤È¤âÆâ¦¤Î¥ê¥¹¥È¡¢¤Ä¤Þ¤ê¡¢²Ã»»¤òºÇ½é¤Ëɾ²Á¤¹¤ë¡£ ¤³¤Î¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤Ë¤Ï¡¢ÊÑ¿ôcounter¤È¿ô1¤òɾ²Á¤¹¤ëɬÍפ¬¤¢¤ë¡£ ÊÑ¿ôcounter¤òɾ²Á¤¹¤ë¤È¤½¤Î¸½ºßÃͤ¬ÆÀ¤é¤ì¤ë¡£ ¤³¤ÎÃͤȿô1¤¬+¤ËÅϤµ¤ì²Ã»»¤µ¤ì¤ë¡£ ¤³¤Î¹ç·×Ãͤ¬¤â¤Ã¤È¤âÆâ¦¤Î¥ê¥¹¥È¤ÎÃͤȤ·¤ÆÊÖ¤µ¤ì¡¢ ¤µ¤é¤Ë¡¢ÊÑ¿ôcounter¤Ë¤³¤Î¿·¤·¤¤ÃͤòÀßÄꤹ¤ësetq¤ØÅϤµ¤ì¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢ÊÑ¿ôcounter¤ÎÃͤ¬Êѹ¹¤µ¤ì¤ë¤Î¤Ç¤¢¤ë¡£


Node:Summary, Next:, Previous:set & setq, Up:List Processing

¤Þ¤È¤á

Lisp¤ò³Ø¤Ö¤³¤È¤Ï¡¢ÅФê»Ï¤á¤¬¤â¤Ã¤È¤â¸±¤·¤¤¾®»³¤òÅФë¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ë¡£ ÆÉ¼Ô¤Ï¤â¤Ã¤È¤âº¤Æñ¤ÊÉôʬ¤òÅФ꽪¤¨¤¿¤Î¤Ç¤¢¤ê¡¢ ¤¢¤È¤Ï¡¢Àè¤Ø¿Ê¤à¤Û¤É³Ú¤Ë¤Ê¤ë¡£

ËܾϤò¤Þ¤È¤á¤ë¤È¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ë¡£


Node:Error Message Exercises, Previous:Summary, Up:List Processing

±é½¬ÌäÂê

´Êñ¤Ê±é½¬ÌäÂê¤ò¤¢¤²¤Æ¤ª¤¯¡£


Node:Practicing Evaluation, Next:, Previous:List Processing, Up:Top

ɾ²Á¤ÎÎý½¬

Emacs Lisp¤Ë¤ª¤±¤ë´Ø¿ôÄêµÁ¤Î½ñ¤­Êý¤ò³Ø¤Ö¤Þ¤¨¤Ë¡¢¤³¤ì¤Þ¤Ç¤ËÀâÌÀ¤·¤Æ¤­¤¿ ¤µ¤Þ¤¶¤Þ¤Ê¼°¤Îɾ²Á¤Ë»þ´Ö¤ò³ä¤¤¤Æ¤ß¤ë¤Î¤âÍ­±×¤Ç¤¢¤í¤¦¡£ ¥ê¥¹¥È¤ÎÀèÆ¬¡Ê¤¢¤ë¤¤¤ÏÍ£°ì¡Ë¤ÎÍ×ÁǤ¬´Ø¿ô¤Ç¤¢¤ë¤è¤¦¤Ê¥ê¥¹¥È¤Ç¤¢¤ë¡£ ¥Ð¥Ã¥Õ¥¡¤Ë´Ø¤¹¤ë´Ø¿ô¤Ï¡¢Ã±½ã¤Ç¤·¤«¤â¶½Ì£¿¼¤¤¤Î¤Ç¡¢¤³¤ì¤é¤«¤é»Ï¤á¤è¤¦¡£ ËÜÀá¤Ç¤Ï¡¢¤½¤ì¤é¤Î¤¤¤¯¤Ä¤«¤òɾ²Á¤·¤Æ¤ß¤ë¡£ ¾¤ÎÀá¤Ç¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤Ë´ØÏ¢¤·¤¿¿ô¸Ä¤ÎÊ̤δؿô¤Î¥³¡¼¥É¤òÄ´¤Ù¤Æ¡¢ ¤½¤ì¤é¤¬¤É¤Î¤è¤¦¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤«¤ò¸«¤Æ¤ß¤ë¡£


Node:How to Evaluate, Next:, Previous:Practicing Evaluation, Up:Practicing Evaluation

Emacs Lisp¤Ë¡¢¥«¡¼¥½¥ë¤Î°Üư¤ä²èÌ̾å¤Î¥¹¥¯¥í¡¼¥ë¤Ê¤É¤Î ÊÔ½¸¥³¥Þ¥ó¥É¤òÍ¿¤¨¤ë¤¿¤Ó¤Ë¡¢ÀèÆ¬Í×ÁǤ¬´Ø¿ô¤Ç¤¢¤ë¼°¤òɾ²Á¤·¤Æ¤¤¤ë¡£ Emacs¤Ï¤³¤Î¤è¤¦¤Ë¤·¤ÆÆ°¤¤¤Æ¤¤¤ë¡£

¥­¡¼¤ò¥¿¥¤¥×¤¹¤ë¤È¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ë¼°¤òɾ²Á¤µ¤»¤ë¤³¤È¤Ë¤Ê¤ê¡¢ ¤½¤Î¤è¤¦¤Ë¤·¤ÆÁàºî¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ë¡£ ¥Æ¥­¥¹¥È¤ò¥¿¥¤¥×¤·¤¿¾ì¹ç¤Ç¤µ¤¨¤â¡¢Emacs Lisp¤Î´Ø¿ô¤òɾ²Á¤·¤Æ¤ª¤ê¡¢ ¥¿¥¤¥×¤·¤¿Ê¸»ú¤òñ¤ËÁÞÆþ¤¹¤ë´Ø¿ôself-insert-command¤ò»È¤Ã¤¿ ´Ø¿ô¤òɾ²Á¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ë¡£ ¥­¡¼¤ò¥¿¥¤¥×¤¹¤ë¤³¤È¤Çɾ²Á¤µ¤ì¤ë´Ø¿ô¤Ï¡¢ ÂÐÏÃŪ¡Êinteractive¡Ë´Ø¿ô¤È¤«¥³¥Þ¥ó¥É¡Êcommands¡Ë¤È¸Æ¤Ð¤ì¤ë¡£ ´Ø¿ô¤òÂÐÏÃŪ¤Ë¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢´Ø¿ôÄêµÁ¤Î½ñ¤­Êý¤Î¾Ï¤ÇÎã¤ò¼¨¤¹¡£ See Interactive¡£

¥­¡¼¥Ü¡¼¥É¥³¥Þ¥ó¥É¤ò¥¿¥¤¥×¤¹¤ë°Ê³°¤Ë¤â¡¢ ¼°¤òɾ²Á¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¤¹¤Ç¤ËÀâÌÀ¤·¤¿¡£ ¤¹¤Ê¤ï¤Á¡¢¥ê¥¹¥È¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¤Î¤Ç¤¢¤ë¡£ ËÜÀá¤Î»Ä¤ê¤Ç¤Ï¡¢¤³¤ÎÊýË¡¤òÍѤ¤¤ë¡£ ¤³¤ì°Ê³°¤Ë¤â¼°¤òɾ²Á¤¹¤ëÊýË¡¤¬¤¢¤ê¡¢É¬Íפ˱þ¤¸¤ÆÂ¾¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¡£

¤³¤ì¤«¤é¤Î¿ôÀá¤ÇÀâÌÀ¤¹¤ë´Ø¿ô¤Ï¡¢É¾²Á¤òÎý½¬¤¹¤ë¤³¤È°Ê³°¤Ë¤â¡¢ ¤½¤ì¼«ÂΡ¢½ÅÍפʤâ¤Î¤Ç¤¢¤ë¡£ ¤³¤ì¤é¤Î´Ø¿ô¤ò³Ø¤Ö¤³¤È¤Ç¡¢¥Ð¥Ã¥Õ¥¡¤È¥Õ¥¡¥¤¥ë¤Î°ã¤¤¡¢ ¥Ð¥Ã¥Õ¥¡¤òÀÚ¤êÂØ¤¨¤ëÊýË¡¡¢¥Ð¥Ã¥Õ¥¡Æâ¤Ç¤Î°ÌÃÖ¤òÄ´¤Ù¤ëÊýË¡¤¬ÌÀ¤é¤«¤Ë¤Ê¤ë¡£


Node:Buffer Names, Next:, Previous:How to Evaluate, Up:Practicing Evaluation

¥Ð¥Ã¥Õ¥¡Ì¾

2¤Ä¤Î´Ø¿ô¡¢buffer-name¤Èbuffer-file-name¤¬¡¢ ¥Õ¥¡¥¤¥ë¤È¥Ð¥Ã¥Õ¥¡¤Î°ã¤¤¤ò¼¨¤·¤Æ¤¯¤ì¤ë¡£ ¼°(buffer-name)¤òɾ²Á¤¹¤ë¤È¡¢¥¨¥³¡¼Îΰè¤Ë¥Ð¥Ã¥Õ¥¡Ì¾¤¬É½¼¨¤µ¤ì¤ë¡£ (buffer-file-name)¤òɾ²Á¤¹¤ë¤È¡¢ ¥Ð¥Ã¥Õ¥¡¤¬»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë̾¤¬¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤µ¤ì¤ë¡£ Ä̾(buffer-name)¤¬ÊÖ¤¹Ì¾Á°¤Ï¡¢ ¤½¤Î¥Ð¥Ã¥Õ¥¡¤¬»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¤Î̾Á°¤ÈƱ¤¸¤Ç¤¢¤ê¡¢ (buffer-file-name)¤¬ÊÖ¤¹Ì¾Á°¤Ï¥Õ¥¡¥¤¥ë¤Î´°Á´¥Ñ¥¹Ì¾¤Ç¤¢¤ë¡£

¥Õ¥¡¥¤¥ë¤È¥Ð¥Ã¥Õ¥¡¤Ï°Û¤Ê¤ë2¤Ä¤Î¼ÂÂΤǤ¢¤ë¡£ ¥Õ¥¡¥¤¥ë¤Ï¡Êºï½ü¤·¤Ê¤¤¸Â¤ê¡Ë¥³¥ó¥Ô¥å¡¼¥¿¤Ë¹±µ×Ū¤Ëµ­Ï¿¤µ¤ì¤¿¾ðÊó¤Ç¤¢¤ë¡£ °ìÊý¡¢¥Ð¥Ã¥Õ¥¡¤ÏEmacs¤ÎÆâÉô¤Ë¤¢¤ë¾ðÊó¤Ç¤¢¤ê¡¢ ¡Ê¥Ð¥Ã¥Õ¥¡¤òºï½ü¤¹¤ë¤«¡ËÊÔ½¸ºî¶È¤ò½ªÎ»¤¹¤ë¤È¾Ã¤¨¤Æ¤·¤Þ¤¦¡£ Ä̾¥Ð¥Ã¥Õ¥¡¤Ë¤Ï¥Õ¥¡¥¤¥ë¤«¤é¥³¥Ô¡¼¤·¤¿¾ðÊ󤬼ý¤á¤é¤ì¤Æ¤¤¤ë¡£ ¤³¤ì¤ò¡¢¥Ð¥Ã¥Õ¥¡¤¬¥Õ¥¡¥¤¥ë¤òˬ¤ì¤ë¡Êvisiting¡Ë¤È¤¤¤¦¡£ ¤³¤Î¥³¥Ô¡¼¤ò½èÍý¤·¤¿¤ê½¤Àµ¤·¤¿¤ê¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ë¡£ ¥Ð¥Ã¥Õ¥¡¤òÊѹ¹¤·¤Æ¤âÊݸ¤·¤Ê¤¤¸Â¤ê¡¢¥Õ¥¡¥¤¥ë¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£ ¥Ð¥Ã¥Õ¥¡¤òÊݸ¤¹¤ë¤È¡¢¥Ð¥Ã¥Õ¥¡¤Ï¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤µ¤ì¡¢ ¤½¤Î·ë²Ì¡¢¹±µ×Ū¤ËÊݸ¤µ¤ì¤ë¤Î¤Ç¤¢¤ë¡£

GNU Emacs¤ÎInfo¤ò»È¤Ã¤ÆÆÉ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¤Ä¤®¤Î¤½¤ì¤¾¤ì¤Î¼°¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ì¤Ð¡¢ ¤½¤ì¤¾¤ì¤Î¼°¤òɾ²Á¤Ç¤­¤ë¡£

(buffer-name)

(buffer-file-name)

É®¼Ô¤¬¤³¤ì¤ò¹Ô¤¦¤È¡¢(buffer-name)¤òɾ²Á¤·¤ÆÊÖ¤µ¤ì¤ëÃÍ¤Ï "introduction.texinfo"¤Ç¤¢¤ê¡¢ (buffer-file-name)¤òɾ²Á¤·¤ÆÊÖ¤µ¤ì¤ëÃÍ¤Ï "/gnu/work/intro/introduction.texinfo"¤Ç¤¢¤ë¡£ Á°¼Ô¤Ï¥Ð¥Ã¥Õ¥¡Ì¾¤Ç¤¢¤ê¡¢¸å¼Ô¤Ï¥Õ¥¡¥¤¥ë̾¤Ç¤¢¤ë ¡Ê³Æ¼°¤Ë¤Ï³ç¸Ì¤¬¤¢¤ë¤Î¤Ç¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ïbuffer-name¤È buffer-file-name¤ò´Ø¿ô¤È¤·¤Æ°·¤¦¡£ ³ç¸Ì¤¬¤Ê¤¤¤È¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ÏÊÑ¿ô¤È¤·¤Æ¥·¥ó¥Ü¥ë¤òɾ²Á¤·¤è¤¦¤È¤¹¤ë¡£ See Variables¡Ë¡£

¥Õ¥¡¥¤¥ë¤È¥Ð¥Ã¥Õ¥¡¤Î°ã¤¤¤Ë¤â¤«¤«¤ï¤é¤º¡¢ ¥Ð¥Ã¥Õ¥¡¤ò°ÕÌ£¤·¤Æ¥Õ¥¡¥¤¥ë¤È¤¤¤Ã¤¿¤ê¡¢¤½¤ÎµÕ¤Î¤¤¤¤Êý¤ò¤¹¤ë¾ì¹ç¤¬Â¿¤¤¡£ ¤â¤Á¤í¤ó¡¢¤Û¤È¤ó¤É¤Î¿Í¤Ï¡¢¡Ö¤¹¤°¤Ë¥Õ¥¡¥¤¥ë¤ËÊݸ¤¹¤ë¥Ð¥Ã¥Õ¥¡¤òÊÔ½¸¤·¤Æ¤¤¤ë¡× ¤È¤¤¤¦¤è¤ê¤Ï¡¢¡Ö¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Æ¤¤¤ë¡×¤È¤¤¤¦¡£ ¤½¤Î¿Í¤¬²¿¤ò°Õ¿Þ¤·¤Æ¤¤¤ë¤«¤Ï¡¢¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢Ê¸Ì®¤«¤éÌÀ¤é¤«¤Ç¤¢¤ë¡£ ¤·¤«¤·¡¢¥³¥ó¥Ô¥å¡¼¥¿¥×¥í¥°¥é¥à¤Ë´Ø¤·¤Æ¤¤¤¨¤Ð¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¤Ï¿Í´Ö¤Î¤è¤¦¤Ë¸­¤¯¤Ï¤Ê¤¤¤Î¤Ç¡¢ ¤Ä¤Í¤Ë°ã¤¤¤ò¿´¤Ë¤È¤á¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¡£

¤È¤³¤í¤Ç¡¢ÍѸì¡Ö¥Ð¥Ã¥Õ¥¡¡Êbuffer¡Ë¡×¤Ï¡¢¾×ÆÍÎϤò¼å¤á¤ë¥¯¥Ã¥·¥ç¥ó¤ò°ÕÌ£¤¹¤ë ¸ì¤ËͳÍ褹¤ë¡£ ½é´ü¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤È¥³¥ó¥Ô¥å¡¼¥¿¤ÎÃæ±û½èÍýÁõÃ֤Τ¢¤¤¤À¤Î Áê¸ßºîÍѤΥ¯¥Ã¥·¥ç¥ó¤¬¥Ð¥Ã¥Õ¥¡¤Ç¤¢¤Ã¤¿¡£ ¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ë¥É¥é¥à¤ä¥Æ¡¼¥×¤ÈÃæ±û½èÍýÁõÃ֤Ȥϡ¢¸ß¤¤¤ËÂ礭¤¯°Û¤Ê¤ë ÁõÃ֤Ǥ¢¤ê¡¢¤½¤ì¤¾¤ì¸ÇÍ­¤Îưºî®ÅÙ¤ÇÆ°¤¤¤Æ¤¤¤¿¡£ ¥Ð¥Ã¥Õ¥¡¤Ë¤è¤ê¡¢¤³¤ì¤é¤¬¸úΨ¤è¤¯¶¨Ä´Æ°ºî¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤Ã¤¿¡£ ¤·¤À¤¤¤Ë¡¢¥Ð¥Ã¥Õ¥¡¤Ï¡¢Ãæ´Ö¤Î°ì»þŪ¤ÊÊݴɾì½ê¤«¤é¡¢ ¼ÂºÝ¤Î½èÍý¤ò¹Ô¤¦¾ì½ê¤Ø¤È¿ÊŸ¤·¤Æ¤¤¤Ã¤¿¡£ ¤³¤ì¤Ï¡¢¾®¤µ¤Ê¹Á¤¬ÂçÅÔ»Ô¤ËȯŸ¤·¤¿¤ê¡¢²ßʪ¤òÁ¥¤ËÀѤ߹þ¤à¤Þ¤¨¤Î°ì»þŪ¤ÊÊÝ´ÉÁÒ¸Ë ¤¬¤½¤Î½ÅÍ×À­¤Î¤¿¤á¤Ë¥Ó¥¸¥Í¥¹¤äʸ²½¤ÎÃæ¿´¤Ë¿ÊŸ¤·¤¿¤³¤È¤Ë»÷¤Æ¤¤¤ë¡£

¤¹¤Ù¤Æ¤Î¥Ð¥Ã¥Õ¥¡¤¬¥Õ¥¡¥¤¥ë¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ ¤¿¤È¤¨¤Ð¡¢¥Õ¥¡¥¤¥ë̾¤ò¤¤¤Ã¤µ¤¤»ØÄꤻ¤º¤Ë¥³¥Þ¥ó¥Éemacs¤À¤±¤ò¥¿¥¤¥×¤·¤Æ Emacs¤ò³«»Ï¤·¤¿¾ì¹ç¤Ë¤Ï¡¢²èÌ̤ˤϥХåե¡*scratch*¤¬É½¼¨¤µ¤ì¤Æ Emacs¤¬Æ°¤­½Ð¤¹¡£ ¤³¤Î¥Ð¥Ã¥Õ¥¡¤Ï¤¤¤«¤Ê¤ë¥Õ¥¡¥¤¥ë¤âˬÌ䤷¤Æ¤¤¤Ê¤¤¡£ ƱÍͤˡ¢¥Ð¥Ã¥Õ¥¡*Help*¤Ë¤Ï¤¤¤«¤Ê¤ë¥Õ¥¡¥¤¥ë¤â´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤Ê¤¤¡£

¥Ð¥Ã¥Õ¥¡*scratch*¤ËÀÚ¤êÂØ¤¨¤Æ¤«¤é¡¢(buffer-name)¤ÈÆþÎϤ·¤Æ ¤½¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤·¤Æ¤³¤Î¼°¤òɾ²Á¤¹¤ë¤È¡¢ ̾Á°"*scratch*"¤¬ÊÖ¤µ¤ì¤Æ¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤µ¤ì¤ë¡£ "*scratch*"¤¬¥Ð¥Ã¥Õ¥¡¤Î̾Á°¤Ç¤¢¤ë¡£ ¤·¤«¤·¡¢¥Ð¥Ã¥Õ¥¡*scratch*¤Ç(buffer-file-name)¤È¥¿¥¤¥×¤·¤Æ ¤³¤ì¤òɾ²Á¤¹¤ë¤È¡¢¥¨¥³¡¼Îΰè¤Ë¤Ïnil¤Èɽ¼¨¤µ¤ì¤ë¡£ nil¤Î¸ì¸»¤Ï¥é¥Æ¥ó¸ì¤Î¡Ö̵¡Ênothing¡Ë¡×¤ò°ÕÌ£¤¹¤ëñ¸ì¤Ç¤¢¤ê¡¢ ¤³¤Î¾ì¹ç¡¢¥Ð¥Ã¥Õ¥¡*scratch*¤Ë¤Ï¤¤¤«¤Ê¤ë¥Õ¥¡¥¤¥ë¤â´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤Ê¤¤ ¤³¤È¤ò°ÕÌ£¤¹¤ë ¡ÊLisp¤Ç¤Ï¡¢nil¤Ï¡Öµ¶¡Êfalse¡Ë¡×¤ò¤â°ÕÌ£¤·¡¢ ¶õ¥ê¥¹¥È()¤ÎƱµÁ¸ì¤Ç¤â¤¢¤ë¡Ë¡£

¥Ð¥Ã¥Õ¥¡*scratch*¤ò»È¤Ã¤Æ¤¤¤ë¤È¤­¤Ë¡¢ ¼°¤Îɾ²Á·ë²Ì¤ò¥¨¥³¡¼Îΰè¤Ç¤Ï¤Ê¤¯¥Ð¥Ã¥Õ¥¡*scratch*¤½¤Î¤â¤Î¤Ë ɽ¼¨¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢C-x C-e¤Î¤«¤ï¤ê¤ËC-u C-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£ ¤³¤ì¤Ë¤è¤ê¡¢¼°¤Îľ¸å¤ËÊÖ¤µ¤ì¤¿Ãͤ¬É½¼¨¤µ¤ì¤ë¡£ ¥Ð¥Ã¥Õ¥¡¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ë¡£

(buffer-name)"*scratch*"

Info¤ÏÆÉ¤ß½Ð¤·ÀìÍѤʤΤǥХåե¡¤ÎÆâÍÆ¤òÊѹ¹¤Ç¤­¤Ê¤¤¤¿¤á¡¢ Info¤Ç¤Ï¤³¤ÎÊýË¡¤ò»È¤¨¤Ê¤¤¡£ ¤·¤«¤·¡¢ÊÔ½¸²Äǽ¤Ê¥Ð¥Ã¥Õ¥¡¤Ê¤é¤Ð¡¢¤³¤ÎÊýË¡¤ò»È¤¨¤ë¡£ ¥³¡¼¥É¤ä¡ÊËܽñ¤Î¤è¤¦¤Ê¡Ëʸ½ñ¤ò½ñ¤¯¤È¤­¤Ë¤Ï¡¢¤³¤Îµ¡Ç½¤Ï¤È¤Æ¤âÊØÍø¤Ç¤¢¤ë¡£


Node:Getting Buffers, Next:, Previous:Buffer Names, Up:Practicing Evaluation

¥Ð¥Ã¥Õ¥¡¤Î¼èÆÀ

´Ø¿ôbuffer-name¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤Î̾Á°¤òÊÖ¤¹¡£ ¥Ð¥Ã¥Õ¥¡¤½¤Î¤â¤Î¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï¡¢ Ê̤δؿôcurrent-buffer¤¬É¬ÍפǤ¢¤ë¡£ ¤³¤Î´Ø¿ô¤ò¥³¡¼¥É¤Ç»È¤¦¤È¡¢¥Ð¥Ã¥Õ¥¡¤½¤Î¤â¤Î¤ò¼èÆÀ¤¹¤ë¤³¤È¤Ë¤Ê¤ë¡£

̾Á°¤È¤½¤Î̾Á°¤¬É½¤¹¥ª¥Ö¥¸¥§¥¯¥È¤ä¼ÂÂΤȤϸߤ¤¤Ë°Û¤Ê¤ë¤â¤Î¤Ç¤¢¤ë¡£ ÆÉ¼Ô¼«¿È¤ÏÆÉ¼Ô¤Î̾Á°¤Ç¤Ï¤Ê¤¤¡£ ÆÉ¼Ô¤Ï¡¢¤½¤Î̾Á°¤Ç¾¿Í¤¬»²¾È¤¹¤ë¡Ö¿Í¡×¤Ç¤¢¤ë¡£ ÆÉ¼Ô¤¬George¤ÈÏä·¤¿¤¤¤ÈÍê¤ó¤À¤È¤­¤Ë¡¢G¡¢e¡¢o¡¢r¡¢ g¡¢e¤Èʸ»ú¤¬½ñ¤«¤ì¤¿¥«¡¼¥É¤òÅϤµ¤ì¤¿¤é¡¢¶Ã¤¯¤Ç¤¢¤í¤¦¤¬¡¢ Ëþ­¤Ï¤·¤Ê¤¤¤Ç¤¢¤í¤¦¡£ ̾Á°¤ÈÏäò¤·¤¿¤¤¤Î¤Ç¤Ï¤Ê¤¯¤Æ¡¢¤½¤Î̾Á°¤Ç»²¾È¤µ¤ì¤ë¿Í¤ÈÏäò¤·¤¿¤¤¤Î¤Ç¤¢¤ë¡£ ¥Ð¥Ã¥Õ¥¡¤âƱÍͤǤ¢¤ë¡£ °ì»þŪ¥Ð¥Ã¥Õ¥¡¤Î̾Á°¤Ï*scratch*¤Ç¤¢¤ë¤¬¡¢ ̾Á°¤½¤Î¤â¤Î¤¬¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¤Ê¤¤¡£ ¥Ð¥Ã¥Õ¥¡¤½¤Î¤â¤Î¤òÆÀ¤ë¤Ë¤Ïcurrent-buffer¤Î¤è¤¦¤Ê´Ø¿ô¤ò»È¤¦É¬Íפ¬¤¢¤ë¡£

¤·¤«¤·¡¢Â¿¾¯¹þ¤ßÆþ¤Ã¤¿»ö¾ð¤â¤¢¤ë¡£ ¤³¤³¤Ç»î¤¹¤è¤¦¤Ë¡¢¼°¤Çcurrent-buffer¤òɾ²Á¤¹¤ë¤È ¥Ð¥Ã¥Õ¥¡¤ÎÆâÍÆ¤Ç¤Ï¤Ê¤¯¥Ð¥Ã¥Õ¥¡¤Îɽ¼¨·Á¼°¤¬É½¼¨¤µ¤ì¤ë¡£ Emacs¤¬¤³¤Î¤è¤¦¤Ëưºî¤¹¤ëÍýͳ¤Ï2¤Ä¤¢¤ë¡£ ¥Ð¥Ã¥Õ¥¡¤Ë¤Ï¿ôÀé¤â¤Î¹Ô¤¬´Þ¤Þ¤ì¤ë¤³¤È¤â¤¢¤ë¤Î¤Ç¡¢ ¤³¤ì¤ò´ÊÊØ¤Ëɽ¼¨¤¹¤ë¤Ë¤ÏŤ¹¤®¤ë¡£ ¤Þ¤¿¡¢¥Ð¥Ã¥Õ¥¡¤ÎÆâÍÆ¤ÏƱ¤¸¤Ç¤¢¤Ã¤Æ¤â¡¢Ì¾Á°¤¬°Û¤Ê¤ë¥Ð¥Ã¥Õ¥¡¤â¤¢¤ê¤¨¤ë¤Î¤Ç¡¢ ¤½¤ì¤é¤ò¶èÊ̤Ǥ­¤ëɬÍפ¬¤¢¤ë¡£

Îã¤ò¼¨¤½¤¦¡£

(current-buffer)

¤¤¤Ä¤â¤Î¤è¤¦¤Ë¤³¤Î¼°¤òɾ²Á¤¹¤ë¤È¡¢ ¥¨¥³¡¼Îΰè¤Ë¤Ï#<buffer *info*>¤Èɽ¼¨¤µ¤ì¤ë¡£ ¥Ð¥Ã¥Õ¥¡Ì¾¤Ç¤Ï¤Ê¤¯¡¢¥Ð¥Ã¥Õ¥¡¤½¤Î¤â¤Î¤òɽ¤¹ÆÃ¼ì¤Êɽ¼¨·Á¼°¤Ç¤¢¤ë¡£

¿ô¤ä¥·¥ó¥Ü¥ë¤Ï¥×¥í¥°¥é¥à¤ËÆþÎϤǤ­¤ë¤¬¡¢ ¥Ð¥Ã¥Õ¥¡¤Îɽ¼¨·Á¼°¤òÆþÎϤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ ¥Ð¥Ã¥Õ¥¡¤½¤Î¤â¤Î¤òÆÀ¤ëÍ£°ì¤ÎÊýË¡¤Ï¡¢ current-buffer¤Î¤è¤¦¤Ê´Ø¿ô¤ò»È¤¦¤³¤È¤Ç¤¢¤ë¡£

´ØÏ¢¤¹¤ë´Ø¿ô¤È¤·¤Æother-buffer¤¬¤¢¤ë¡£ ¤³¤ì¤Ï¡¢¸½ºß»ÈÍѤ·¤Æ¤¤¤ë¥Ð¥Ã¥Õ¥¡¤ÎľÁ°¤ËÁªÂò¤·¤Æ¤¤¤¿¥Ð¥Ã¥Õ¥¡¤òÊÖ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¥Ð¥Ã¥Õ¥¡*scratch*¤«¤é¸½ºß¤Î¥Ð¥Ã¥Õ¥¡¤ËÀÚ¤êÂØ¤¨¤¿¾ì¹ç¤Ë¤Ï¡¢ other-buffer¤Ï¥Ð¥Ã¥Õ¥¡*scratch*¤òÊÖ¤¹¡£

¤Ä¤®¤Î¼°¤òɾ²Á¤·¤Æ¤ß¤è¤¦¡£

(other-buffer)

¥¨¥³¡¼Îΰè¤Ë¤Ï¡¢#<buffer *scratch*>¡¢¤¢¤ë¤¤¤Ï¡¢ º£¤Î¥Ð¥Ã¥Õ¥¡¤ËÀÚ¤êÂØ¤¨¤ë¤Þ¤¨¤Î¥Ð¥Ã¥Õ¥¡¤Îɽ¼¨·Á¼°¤¬É½¼¨¤µ¤ì¤ë¡£


Node:Switching Buffers, Next:, Previous:Getting Buffers, Up:Practicing Evaluation

¥Ð¥Ã¥Õ¥¡¤ÎÀÚ¤êÂØ¤¨

´Ø¿ôother-buffer¤ÎÌÜŪ¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤½¤Î¤â¤Î¤ò°ú¿ô¤ËɬÍפȤ¹¤ë ´Ø¿ô¤Ë¥Ð¥Ã¥Õ¥¡¤òÍ¿¤¨¤ë¤³¤È¤Ç¤¢¤ë¡£ Ê̤ΥХåե¡¤ËÀÚ¤êÂØ¤¨¤ë¤¿¤áother-buffer¤Èswitch-to-buffer¤È¤ò »È¤Ã¤Æ¤ß¤è¤¦¡£

¤Þ¤º¡¢´Ø¿ôswitch-to-buffer¤Î³µÍפòÀâÌÀ¤·¤Æ¤ª¤³¤¦¡£ (buffer-name)¤òɾ²Á¤¹¤ë¤¿¤á¤ËInfo¤«¤é¥Ð¥Ã¥Õ¥¡*scratch*¤Ø ÀÚ¤êÂØ¤¨¤ë¤È¤­¤Ë¤Ï¡¢C-x b¤È¥¿¥¤¥×¤·¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ëɽ¼¨¤µ¤ì¤¿ ÀÚ¤êÂØ¤¨Àè¥Ð¥Ã¥Õ¥¡Ì¾¤Î¥×¥í¥ó¥×¥È¤Ë*scratch*¤ÈÆþÎϤ·¤¿¤Ç¤¢¤í¤¦¡£ C-x b¤È¥¿¥¤¥×¤¹¤ë¤È¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ÏEmacs Lisp¤ÎÂÐÏÃŪ´Ø¿ô switch-to-buffer¤òɾ²Á¤¹¤ë¡£ ¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢Emacs¤Ï¤³¤Î¤è¤¦¤Ëưºî¤¹¤ë¡£ ¥­¡¼Î󤬰ۤʤì¤Ð¡¢°Û¤Ê¤ë´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¡¢¤Ä¤Þ¤ê¡¢¼Â¹Ô¤¹¤ë¤Î¤Ç¤¢¤ë¡£ ¤¿¤È¤¨¤Ð¡¢C-f¤È¥¿¥¤¥×¤¹¤ë¤Èforward-char¤ò¸Æ¤Ó½Ð¤·¡¢ M-e¤È¥¿¥¤¥×¤¹¤ë¤Èforward-sentence¤ò¸Æ¤Ó½Ð¤¹¤Ê¤É¤Ç¤¢¤ë¡£

switch-to-buffer¤ò½ñ¤¤¤¿¼°¤ËÀÚ¤êÂØ¤¨Àè¤Î¥Ð¥Ã¥Õ¥¡¤ò»ØÄꤹ¤ì¤Ð¡¢ C-x b¤ÈƱ¤¸¤è¤¦¤Ë¥Ð¥Ã¥Õ¥¡¤òÀÚ¤êÂØ¤¨¤é¤ì¤ë¡£

¤¿¤È¤¨¤Ð¡¢¤Ä¤®¤ÎLisp¤Î¼°¤Ç¤¢¤ë¡£

(switch-to-buffer (other-buffer))

¥ê¥¹¥È¤ÎÀèÆ¬Í×ÁǤϥ·¥ó¥Ü¥ëswitch-to-buffer¤Ç¤¢¤ë¤Î¤Ç¡¢ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¤³¤ì¤ò´Ø¿ô¤È¤·¤Æ°·¤¤¡¢¤½¤ì¤Ë·ë¤ÓÉÕ¤±¤é¤ì¤Æ¤¤¤ë Ì¿ÎáÎó¤ò¼Â¹Ô¤¹¤ë¡£ ¤·¤«¤·¡¢¤½¤Î¤Þ¤¨¤Ë¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ïother-buffer¤¬³ç¸Ì¤ÎÆâ¦¤Ë¤¢¤ë¤³¤È¤ò ¸¡½Ð¤·¤Æ¡¢¤Þ¤º¤½¤Î¥·¥ó¥Ü¥ë¤ò½èÍý¤¹¤ë¡£ other-buffer¤Ï¤³¤Î¥ê¥¹¥È¤ÎÀèÆ¬¡Ê¤«¤ÄÍ£°ì¤Î¡ËÍ×ÁǤʤΤǡ¢ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¤³¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¡£ ¤³¤ì¤ÏÊ̤ΥХåե¡¤òÊÖ¤¹¡£ ³¤¤¤Æ¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢¤³¤ÎÊ̤ΥХåե¡¤ò°ú¿ô¤È¤·¤Æ switch-to-buffer¤ËÅϤ·¤Æ¼Â¹Ô¤·¡¢¤½¤Î¥Ð¥Ã¥Õ¥¡¤ØÀÚ¤êÂØ¤¨¤ë¡£ Info¤ÇÆÉ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¼°¤òɾ²Á¤·¤Æ¤ß¤Æ¤Û¤·¤¤ ¡ÊInfo¤Î¥Ð¥Ã¥Õ¥¡¤ËÌá¤ë¤Ë¤ÏC-x b <RET>¤È¥¿¥¤¥×¤¹¤ë¡Ë¡£

Ëܽñ¤Î°Ê¹ß¤ÎÀá¤Î¥×¥í¥°¥é¥àÎã¤Ç¤Ï¡¢´Ø¿ôswitch-to-buffer¤è¤ê¤â ´Ø¿ôset-buffer¤ò¿ÍѤ¹¤ë¡£ ¤³¤ì¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¥×¥í¥°¥é¥à¤È¿Í´Ö¤È¤Î°ã¤¤¤Ë¤è¤ë¤â¤Î¤Ç¤¢¤ë¡£ ¿Í´Ö¤Ë¤ÏÌܤ¬¤¢¤ë¤Î¤Ç¡¢Ã¼Ëö²èÌ̤Ǻî¶ÈÃæ¤Î¥Ð¥Ã¥Õ¥¡¤ò¸«¤ë¤³¤È¤ò´üÂÔ¤¹¤ë¡£ ¤³¤ì¤ÏÅöÁ³¤Î¤³¤È¤Ç¤¢¤ê¡¢¤³¤ì°Ê¾åÀâÌÀ¤¹¤ëɬÍפϤʤ«¤í¤¦¡£ °ìÊý¡¢¥×¥í¥°¥é¥à¤ËÌܤϤʤ¤¡£ ¥³¥ó¥Ô¥å¡¼¥¿¥×¥í¥°¥é¥à¤¬¥Ð¥Ã¥Õ¥¡¤ò½èÍý¤¹¤ë¤È¤­¤Ë¡¢ üËö²èÌ̤ǥХåե¡¤¬¸«¤¨¤Æ¤¤¤ëɬÍפϤʤ¤¡£

switch-to-buffer¤Ï¿Í´Ö¸þ¤±¤Ë¹Í¤¨¤é¤ì¤¿¤â¤Î¤Ç¤¢¤ê¡¢ °Û¤Ê¤ë2¤Ä¤Î¤³¤È¤ò¹Ô¤¦¡£ Emacs¤ÎÃí°Õ¤ò¥Ð¥Ã¥Õ¥¡¤Ë¸þ¤±¤ë¤³¤È¤È¡¢ ¥¦¥£¥ó¥É¥¦¤Ëɽ¼¨¤¹¤ë¥Ð¥Ã¥Õ¥¡¤ò¤½¤Î¥Ð¥Ã¥Õ¥¡¤ËÀÚ¤êÂØ¤¨¤ë¤³¤È¤Ç¤¢¤ë¡£ °ìÊý¡¢set-buffer¤Ï1¤Ä¤Î¤³¤È¤À¤±¤ò¹Ô¤¤¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¥×¥í¥°¥é¥à¤ÎÃí°Õ¤ò¤½¤Î¥Ð¥Ã¥Õ¥¡¤Ë¸þ¤±¤ë¤À¤±¤Ç¤¢¤ë¡£ ²èÌ̾å¤Î¥Ð¥Ã¥Õ¥¡¤ÏÊѹ¹¤·¤Ê¤¤ ¡Ê¤â¤Á¤í¤ó¡¢¥³¥Þ¥ó¥É¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤Ï¡¢²¿¤âµ¯¤³¤é¤Ê¤¤¡Ë¡£

¤³¤³¤Ç¤Ï¡¢¿·¤¿¤ÊÀìÌçÍÑ¸ì¸Æ¤Ó½Ð¤·¡Êcall¡Ë¤â»È¤Ã¤¿¡£ ¥ê¥¹¥È¤ÎÀèÆ¬¤Î¥·¥ó¥Ü¥ë¤¬´Ø¿ô¤Ç¤¢¤ë¤è¤¦¤Ê¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¡¢ ¤½¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤Î¤Ç¤¢¤ë¡£ ¤³¤ÎÍѸì¤Ï¡¢±ô´É¹©¤ò¡Ö¸Æ¤Ö¡×¤È¥Ñ¥¤¥×¤Î±Ì¤ì¤ò½¤Íý¤·¤Æ¤¯¤ì¤ë¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢ ´Ø¿ô¤Ï¡¢¡Ö¸Æ¤Ó½Ð¤¹¡×¤È²¿¤«¤ò¹Ô¤Ã¤Æ¤¯¤ì¤ë¼ÂÂΤǤ¢¤ë¤È¤¤¤¦¹Í¤¨Êý¤«¤é¤­¤Æ¤¤¤ë¡£


Node:Buffer Size & Locations, Next:, Previous:Switching Buffers, Up:Practicing Evaluation

¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤È¥Ý¥¤¥ó¥È¤Î°ÌÃÖ

ºÇ¸å¤Ë¡¢buffer-size¡¢point¡¢point-min¡¢point-max ¤Ê¤É¤ÎÈæ³ÓŪñ½ã¤Ê´Ø¿ô¤ò¸«¤Æ¤ß¤è¤¦¡£ ¤³¤ì¤é¤Ë¤è¤ê¡¢¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤ä¥Ð¥Ã¥Õ¥¡Æâ¤Î¥Ý¥¤¥ó¥È¤Î°ÌÃ֤˴ؤ¹¤ë¾ðÊó¤ò ÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

´Ø¿ôbuffer-size¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤òÊÖ¤¹¡£ ¤Ä¤Þ¤ê¡¢¥Ð¥Ã¥Õ¥¡Æâ¤Îʸ»ú¤Î¸Ä¿ô¤òÊÖ¤¹¡£

(buffer-size)

¤¤¤Ä¤â¤Î¤è¤¦¤Ë¡¢¤³¤Î¼°¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ì¤Ð¡¢ ¤³¤Î¼°¤òɾ²Á¤Ç¤­¤ë¡£

Emacs¤Ç¤Ï¡¢¥«¡¼¥½¥ë¤Î¸½ºß°ÌÃÖ¤ò¥Ý¥¤¥ó¥È¡Êpoint¡Ë¤È¸Æ¤Ö¡£ ¼°(point)¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤«¤é¥Ý¥¤¥ó¥È¤Þ¤Ç¤Îʸ»ú¤Î¸Ä¿ô¤È¤·¤Æ¡¢ ¥«¡¼¥½¥ë¤Î°ÌÃÖ¤òÊÖ¤¹¡£

¤¤¤Ä¤â¤Î¤è¤¦¤Ë¤Ä¤®¤Î¼°¤òɾ²Á¤¹¤ë¤È¡¢ ¥Ð¥Ã¥Õ¥¡Æâ¤Ç¤Î¥Ý¥¤¥ó¥È¤Þ¤Ç¤Îʸ»ú¿ô¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

(point)

É®¼Ô¤Î¾ì¹ç¡¢¤³¤ÎÃͤÏ65724¤Ç¤¢¤Ã¤¿¡£ Ëܽñ¤ÎÎã¤Ç¤Ï¡¢´Ø¿ôpoint¤ò¿ÍѤ·¤Æ¤¤¤ë¡£

¥Ý¥¤¥ó¥È¤ÎÃͤϡ¢ÅöÁ³¤Ç¤¢¤ë¤¬¡¢¥Ð¥Ã¥Õ¥¡Æâ¤Ç¤Î°ÌÃ֤˰͸¤¹¤ë¡£ ¤³¤³¤Ç¤Ä¤®¤Î¼°¤òɾ²Á¤¹¤ë¤È¡¢¤è¤êÂ礭¤Ê¿ô¤Ë¤Ê¤ë¡£

(point)

É®¼Ô¤Î¾ì¹ç¡¢¥Ý¥¤¥ó¥È¤ÎÃͤÏ66043¤È¤Ê¤ê¡¢ 2¤Ä¤Î¼°¤Î¤¢¤¤¤À¤Ë¤Ï¡Ê¶õÇò¤ò´Þ¤á¤Æ¡Ë319ʸ»ú¤¢¤ë¤³¤È¤¬¤ï¤«¤ë¡£

´Ø¿ôpoint-min¤Ï¡¢point¤È¤Û¤ÜƱ¤¸¤Ç¤¢¤ë¤¬¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¼è¤ë¤³¤È¤¬²Äǽ¤Ê¥Ý¥¤¥ó¥È¤ÎºÇ¾®ÃͤòÊÖ¤¹¡£ ¥Ê¥í¥¤¥ó¥°¡Ênarrowing¡Ë¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¤³¤ì¤Ï¿ô1¤Ç¤¢¤ë ¡Ê¥Ê¥í¥¤¥ó¥°¡ÊÊж¹²½¡Ë¤È¤Ï¡¢¥×¥í¥°¥é¥à¤Ê¤É¤ÇÁàºî¤¹¤ë¥Ð¥Ã¥Õ¥¡¤ÎÈϰϤò À©¸Â¤¹¤ëµ¡¹½¤Ç¤¢¤ë¡£ See Narrowing & Widening¡Ë¡£ Ʊ¤¸¤è¤¦¤Ë¡¢´Ø¿ôpoint-max¤Ï¡¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¼è¤ë¤³¤È¤¬²Äǽ¤Ê¥Ý¥¤¥ó¥È¤ÎºÇÂçÃͤòÊÖ¤¹¡£


Node:Evaluation Exercise, Previous:Buffer Size & Locations, Up:Practicing Evaluation

±é½¬ÌäÂê

ŬÅö¤Ê¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¡¢¤½¤ÎÃæ¤Û¤É¤Ë°Üư¤¹¤ë¡£ ¥Ð¥Ã¥Õ¥¡Ì¾¡¢¥Õ¥¡¥¤¥ë̾¡¢Ä¹¤µ¡¢¥Õ¥¡¥¤¥ëÆâ¤Ç¤Î°ÌÃ֤Τ½¤ì¤¾¤ì¤òÄ´¤Ù¤Æ¤ß¤è¡£


Node:Writing Defuns, Next:, Previous:Practicing Evaluation, Up:Top

´Ø¿ôÄêµÁ¤Î½ñ¤­Êý

¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¤­¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢ ¥ê¥¹¥È¤ÎÀèÆ¬¤Î¥·¥ó¥Ü¥ë¤Ë´Ø¿ôÄêµÁ¤¬·ë¤ÓÉÕ¤±¤é¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£ ¤¤¤¤¤«¤¨¤ì¤Ð¡¢¥·¥ó¥Ü¥ë¤¬´Ø¿ôÄêµÁ¤ò»Ø¤¹¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£ ¤½¤¦¤Ê¤é¤Ð¡¢¥³¥ó¥Ô¥å¡¼¥¿¤ÏÄêµÁÆâ¤ÎÌ¿ÎáÎó¤ò¼Â¹Ô¤¹¤ë¡£ ´Ø¿ôÄêµÁ¤ò»ý¤Ä¥·¥ó¥Ü¥ë¤ò¡¢Ã±¤Ë´Ø¿ô¤È¸Æ¤Ö ¡Ê¤·¤«¤·¡¢Àµ³Î¤Ë¤Ï¡¢ÄêµÁ¤¬´Ø¿ô¤Ç¤¢¤ê¡¢¥·¥ó¥Ü¥ë¤Ï¤½¤ì¤ò»Ø¤¹¤À¤±¤Ç¤¢¤ë¡Ë¡£


Node:Primitive Functions, Next:, Previous:Writing Defuns, Up:Writing Defuns

¤¹¤Ù¤Æ¤Î´Ø¿ô¤ÏÊ̤δؿô¤òÍѤ¤¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢ ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ìC¤Ç½ñ¤«¤ì¤¿¾¯¿ô¤Î ´ðËÜÁàºî¡Êprimitive¡Ë´Ø¿ô¤Ï¤½¤¦¤Ç¤Ï¤Ê¤¤¡£ ´Ø¿ô¤ÎÄêµÁ¤ò½ñ¤¯¤È¤­¤Ë¤Ï¡¢Â¾¤Î´Ø¿ô¤ò¹½À®ÉôÉʤȤ·¤ÆÍѤ¤¤ÆEmacs Lisp¤Ç½ñ¤¯¡£ ¤½¤Î¤È¤­»ÈÍѤ¹¤ë´Ø¿ô¤Ï¡¢ ¤½¤ì¼«¿ÈEmacs Lisp¤Ç¡ÊÆÉ¼Ô¼«¿È¤¬¡Ë½ñ¤¤¤¿¤â¤Î¤Ç¤¢¤Ã¤¿¤ê¡¢ C¤Ç½ñ¤«¤ì¤¿´ðËÜÁàºî´Ø¿ô¤Ç¤¢¤ë¡£ ´ðËÜÁàºî´Ø¿ô¤Ï¡¢Emacs Lisp¤Ç½ñ¤¤¤¿¤â¤Î¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¤è¤¦¤Ë»È¤¨¡¢ ¤½¤Î¤è¤¦¤Ëưºî¤¹¤ë¡£ ¤³¤ì¤é¤òC¤Ç½ñ¤¤¤Æ¤¢¤ë¤Î¤Ï¡¢C¤¬Æ°¤¯½½Ê¬¤ÊǽÎϤò»ý¤Ã¤¿¥³¥ó¥Ô¥å¡¼¥¿¤Ê¤é¤Ð ÍÆ°×¤ËGNU Emacs¤òưºî¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¢¤ë¡£

¶¯Ä´¤·¤Æ¤ª¤¯¤¬¡¢Emacs Lisp¤Ç¥³¡¼¥É¤ò½ñ¤¯¤È¤­¡¢ C¤Ç½ñ¤¤¤¿´Ø¿ô¤Î»È¤¤Êý¤ÈEmacs Lisp¤Ç½ñ¤¤¤¿´Ø¿ô¤Î»È¤¤Êý¤È¤Ï¶èÊ̤·¤Ê¤¤¡£ ξ¼Ô¤Î°ã¤¤¤Ï̵´Ø·¸¤Ê¤Î¤Ç¤¢¤ë¡£ ¤ï¤¶¤ï¤¶¸ÀµÚ¤·¤¿¤Î¤Ï¡¢¶½Ì£¿¼¤¤¤È¹Í¤¨¤¿¤«¤é¤Ç¤¢¤ë¡£ ´û¸¤Î´Ø¿ô¤¬Emacs Lisp¤Ç½ñ¤¤¤Æ¤¢¤ë¤Î¤«¡¢C¤Ç½ñ¤¤¤Æ¤¢¤ë¤Î¤«¤Ï¡¢ ÆÃ¤ËÄ´¤Ù¤Ê¤¤¸Â¤ê¤ï¤«¤é¤Ê¤¤¡£


Node:defun, Next:, Previous:Primitive Functions, Up:Writing Defuns

¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àdefun

Lisp¤Ç¤Ï¡¢mark-whole-buffer¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢ ´Ø¿ô¤È¤·¤Æ¸Æ¤Ð¤ì¤¿¤È¤­¤Ë¥³¥ó¥Ô¥å¡¼¥¿¤¬¼Â¹Ô¤¹¤ë¥³¡¼¥É¤¬·ë¤ÓÉÕ¤±¤é¤ì¤Æ¤¤¤ë¡£ ¤³¤Î¥³¡¼¥É¤ò´Ø¿ôÄêµÁ¡Êfunction definition¡Ë¤È¸Æ¤Ó¡¢ ¥·¥ó¥Ü¥ëdefun¡Êdefine function¡Ê´Ø¿ô¤òÄêµÁ¤¹¤ë¡Ë¤Îά¡Ë¤Ç»Ï¤Þ¤ë Lisp¤Î¼°¤òɾ²Á¤¹¤ë¤³¤È¤ÇºîÀ®¤¹¤ë¡£ defun¤Ï¡¢¤½¤Î°ú¿ô¤òÄ̾ï¤Î¤è¤¦¤Ë¤Ïɾ²Á¤·¤Ê¤¤¤Î¤Ç¡¢ ¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¡Êspecial form¡Ë¤È¸Æ¤Ð¤ì¤ë¡£

°Ê²¼¤ÎÀá¤Ç¤Ï¡¢mark-whole-buffer¤Î¤è¤¦¤ÊEmacs¤Î¥½¡¼¥¹¥³¡¼¥É¤Î ´Ø¿ôÄêµÁ¤òÄ´¤Ù¤ë¡£ ËÜÀá¤Ç¤Ï¡¢´Ø¿ôÄêµÁ¤¬¤É¤Î¤è¤¦¤Ê¤â¤Î¤«¤òÍý²ò¤·¤Æ¤â¤é¤¦¤¿¤á¤Ë¡¢ ´Êñ¤Ê´Ø¿ôÄêµÁ¤òÀâÌÀ¤¹¤ë¡£ Îã¤ò´Êñ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢»»½Ñ±é»»¤ò»È¤Ã¤¿´Ø¿ôÄêµÁ¤ò¼è¤ê¾å¤²¤ë¡£ »»½Ñ±é»»¤ò»È¤Ã¤¿Î㤬·ù¤¤¤Ê¿Í¤â¤¤¤ë¤Ç¤¢¤í¤¦¤¬¡¢ÍîÃÀ¤·¤Ê¤¤¤Ç¤Û¤·¤¤¡£ »Ä¤ê¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¥³¡¼¥É¤Ë¤Ï¡¢»»½Ñ±é»»¤ä¿ô³Ø¤Ï¤Û¤È¤ó¤É¤Ê¤¤¡£ ¤½¤Î¤Û¤È¤ó¤É¤Ï¡¢¥Æ¥­¥¹¥È¤ò°·¤¦¡£

´Ø¿ôÄêµÁ¤Ï¡¢Ã±¸ìdefun¤Ë³¤¯ºÇÂç¤Ç5¤Ä¤ÎÉôʬ¤«¤éÀ®¤ë¡£

  1. ´Ø¿ôÄêµÁ¤ò·ë¤ÓÉÕ¤±¤ë¥·¥ó¥Ü¥ë¤Î̾Á°¡£
  2. ´Ø¿ô¤ËÅϤµ¤ì¤ë°ú¿ô¤Î¥ê¥¹¥È¡£ ´Ø¿ô¤Ë°ú¿ô¤òÅϤµ¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¶õ¥ê¥¹¥È()¤ò»ØÄꤹ¤ë¡£
  3. ´Ø¿ô¤ÎÀâÌÀʸ ¡Ê¾Êά¤Ç¤­¤ë¤¬¡¢ÉÕ¤±¤ë¤³¤È¤ò¶¯¤¯¿ä¾©¤¹¤ë¡Ë¡£
  4. M-x¤Ë³¤±¤Æ´Ø¿ô̾¤òÆþÎϤ·¤¿¤ê¡¢Å¬Åö¤Ê¥­¡¼Îó¤ò¥¿¥¤¥×¤·¤Æ»È¤¨¤ë¤è¤¦¤Ë¡¢ ´Ø¿ô¤òÂÐÏÃŪ¤Ë¤¹¤ë¤¿¤á¤Î¼°¡£ ¾Êά¤Ç¤­¤ë¡£
  5. ¥³¥ó¥Ô¥å¡¼¥¿¤Ëưºî¤òÌ¿¤¸¤ë¥³¡¼¥É¡£ ´Ø¿ôÄêµÁ¤ÎËÜÂΡÊbody¡Ë¡£

´Ø¿ôÄêµÁ¤Î5¤Ä¤ÎÉôʬ¤ò¡¢¤Ä¤®¤Î¤è¤¦¤Ê¿÷·¿¤Ë¤Þ¤È¤á¤Æ¹Í¤¨¤ë¤È¤ï¤«¤ê¤ä¤¹¤¤¡£

(defun ´Ø¿ô̾ (°ú¿ô...)
  "¾Êά²Äǽ¤Ê´Ø¿ô¤ÎÀâÌÀʸ..."
  (interactive °ú¿ô¤Ë´Ø¤¹¤ë¾ðÊó) ;    ¾Êά²Äǽ
  ËÜÂÎ...)

Îã¤È¤·¤Æ¡¢°ú¿ô¤ò7Çܤ¹¤ë´Ø¿ô¤Î¥³¡¼¥É¤ò¼¨¤¹ ¡Ê¤³¤ÎÎã¤Ï¡¢ÂÐÏÃŪ´Ø¿ô¤Ç¤Ï¤Ê¤¤¡£ ¤³¤ì¤Ë¤Ä¤¤¤Æ¤Ï¡¢See Interactive¡Ë¡£

(defun multiply-by-seven (number)
  "Multiply NUMBER by seven."
  (* 7 number))

¤³¤ÎÄêµÁ¤Ï¡¢³ç¸Ì¤È¥·¥ó¥Ü¥ëdefun¤Ç»Ï¤Þ¤ê¡¢´Ø¿ô̾¤¬Â³¤¯¡£

´Ø¿ô̾¤Î¤¢¤È¤Ë¤Ï¡¢´Ø¿ô¤ËÅϤµ¤ì¤ë°ú¿ô¤Î¥ê¥¹¥È¤¬Â³¤¯¡£ ¤³¤Î¥ê¥¹¥È¤ò¡¢°ú¿ô¥ê¥¹¥È¡Êargument list¡Ë¤È¸Æ¤Ö¡£ ¤³¤ÎÎã¤Ç¤Ï¡¢¥ê¥¹¥È¤Ë¤Ï1¤Ä¤ÎÍ×ÁÇ¡¢¥·¥ó¥Ü¥ënumber¤Î¤ß¤¬¤¢¤ë¡£ ´Ø¿ô¤¬»È¤ï¤ì¤ë¤È¡¢´Ø¿ô¤Ø¤Î°ú¿ô¤È¤·¤Æ»È¤ï¤ì¤¿Ãͤ¬¤³¤Î¥·¥ó¥Ü¥ë¤Ë«Çû¤µ¤ì¤ë¡£

°ú¿ô¤Î̾Á°¤È¤·¤Æ¤Ï¡¢Ã±¸ìnumber¤Î¤«¤ï¤ê¤ËÊ̤Î̾Á°¤ò»ØÄꤷ¤Æ¤â¤è¤¤¡£ ¤¿¤È¤¨¤Ð¡¢Ã±¸ìmultiplicand¤Ç¤â¤è¤¤¡£ °ú¿ô¤ÎÃͤμïÎब¤ï¤«¤ë¤è¤¦¤Ëñ¸ìnumber¤òÁª¤ó¤À¡£ ƱÍͤˡ¢´Ø¿ô¤Î¼Â¹Ô¤Ë¤ª¤¤¤Æ°ú¿ô¤ÎÌò³ä¤òɽ¤¹multiplicand¡ÊÈï¾è¿ô¡Ë¤ò Áª¤ó¤Ç¤â¤è¤«¤Ã¤¿¡£ °ú¿ô¤òfoogle¤È¤â½ñ¤±¤ë¤¬¡¢¤³¤ì¤Ç¤Ï²¿¤ò°ÕÌ£¤¹¤ë¤«ÉÔÌÀ¤Ê¤Î¤Ç¤è¤¯¤Ê¤¤¡£ ̾Á°¤ÎÁªÂò¤Ï¥×¥í¥°¥é¥Þ¤ÎÀÕǤ¤Ç¤¢¤ê¡¢ ´Ø¿ô¤Î°ÕÌ£¤òÌÀ¤é¤«¤Ë¤¹¤ë¤è¤¦¤ËÁª¤Ö¤Ù¤­¤Ç¤¢¤ë¡£

°ú¿ô¥ê¥¹¥È¤Î¥·¥ó¥Ü¥ë¤Ë¤Ï¤É¤ó¤Ê̾Á°¤òÁª¤ó¤Ç¤â¤è¤¯¡¢ ¾¤Î´Ø¿ô¤Ç»È¤Ã¤Æ¤¤¤ë¥·¥ó¥Ü¥ë¤Î̾Á°¤Ç¤â¤è¤¤¡£ °ú¿ô¥ê¥¹¥È¤Ë»ÈÍѤ·¤¿Ì¾Á°¤Ï¡¢¤½¤ÎÄêµÁ¤Ë¤ª¤¤¤Æ»äŪ¤Ç¤¢¤ë¡£ ¤Ä¤Þ¤ê¡¢¤½¤ÎÄêµÁ¤Ë¤ª¤¤¤ÆÌ¾Á°¤Ç»²¾È¤·¤¿¼ÂÂΤϡ¢ ¤½¤Î´Ø¿ôÄêµÁ¤Î³°Éô¤ÇƱ¤¸Ì¾Á°¤Ç»²¾È¤¹¤ë¼ÂÂΤȤÏÊ̤Ǥ¢¤ë¡£ ¤¿¤È¤¨¤Ð¡¢²È²¤Î¤¢¤¤¤À¤Ç¤ÏÆÉ¼Ô¤Î°¦¾Î¤Ï¡Ö¥·¥ç¡¼¥Æ¥£¡×¤À¤È¤·¤è¤¦¡£ ²È²¤Î狼¤¬¡Ö¥·¥ç¡¼¥Æ¥£¡×¤È¤¤¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ÆÉ¼Ô¤Î¤³¤È¤Ç¤¢¤ë¡£ ¤·¤«¤·¡¢Ê̤βȲ¤¬¡Ö¥·¥ç¡¼¥Æ¥£¡×¤È¤¤¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢Ê̤Î狼¤Î¤³¤È¤Ç¤¢¤ë¡£ °ú¿ô¥ê¥¹¥ÈÃæ¤Î̾Á°¤Ï´Ø¿ôÄêµÁ¤Ë»äŪ¤Ê¤Î¤Ç¡¢´Ø¿ôËÜÂÎ¤ÎÆâ¦¤Ç¤½¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤Î ÃͤòÊѹ¹¤·¤Æ¤â¡¢´Ø¿ô¤Î³°Éô¤ÎÃͤˤϱƶÁ¤·¤Ê¤¤¡£ let¼°¤Ç¤âƱÍͤʸú²Ì¤¬ÆÀ¤é¤ì¤ë ¡ÊSee let¡Ë¡£

°ú¿ô¥ê¥¹¥È¤Ë¤Ï¡¢´Ø¿ô¤ÎÀâÌÀʸ¤Ç¤¢¤ëʸ»úÎó¤¬Â³¤¯¡£ C-h f¤Ë³¤±¤Æ´Ø¿ô̾¤ò¥¿¥¤¥×¤·¤¿¤È¤­¤Ëɽ¼¨¤µ¤ì¤ë¤Î¤Ï¡¢ ¤³¤Îʸ»úÎó¤Ç¤¢¤ë¡£ apropos¤Ê¤É¤Î¤¢¤ë¼ï¤Î¥³¥Þ¥ó¥É¤Ç¤ÏÊ£¿ô¹Ô¤ÎÀâÌÀʸ¤Î¤¦¤ÁºÇ½é¤Î1¹Ô¤Î¤ß¤ò ɽ¼¨¤¹¤ë¤Î¤Ç¡¢´Ø¿ô¤ÎÀâÌÀʸ¤ò½ñ¤¯¾ì¹ç¤Ë¤Ï¡¢ºÇ½é¤Î1¹Ô¤ò1¤Ä¤Îʸ¤Ë¤¹¤Ù¤­¤Ç¤¢¤ë¡£ ¤Þ¤¿¡¢C-h f¡Êdescribe-function¡Ë¤Çɽ¼¨¤·¤¿¾ì¹ç¤Ë¡¢ ɽ¼¨¤¬ÊѤˤʤé¤Ê¤¤¤è¤¦¤Ë¡¢ÀâÌÀʸ¤Î2¹ÔÌܰʹߤò»ú²¼¤²¤·¤Ê¤¤¤³¤È¡£ ÀâÌÀʸ¤Ï¾Êά¤Ç¤­¤ë¤¬¡¢¤¢¤ë¤ÈÍ­±×¤Ê¤Î¤Ç¡¢ ÆÉ¼Ô¤¬½ñ¤¯¤Û¤È¤ó¤É¤Î´Ø¿ô¤Ë¤Ï»ØÄꤹ¤ë¤Ù¤­¤Ç¤¢¤ë¡£

¾å¤ÎÎã¤Î3¹ÔÌܤϴؿôÄêµÁ¤ÎËÜÂΤǤ¢¤ë ¡ÊÅöÁ³¡¢¤Û¤È¤ó¤É¤Î´Ø¿ô¤ÎÄêµÁ¤Ï¡¢¤³¤ÎÎã¤è¤ê¤âŤ¤¤Ï¤º¤Ç¤¢¤ë¡Ë¡£ ¤³¤³¤Ç¤Ï¡¢ËÜÂΤϥꥹ¥È(* 7 number)¤Ç¤¢¤ê¡¢ number¤ÎÃͤò7Çܤ¹¤ë ¡ÊEmacs Lisp¤Ç¤Ï¡¢+¤¬²Ã»»¤Ç¤¢¤ë¤è¤¦¤Ë¡¢*¤Ï¾è»»¤Ç¤¢¤ë¡Ë¡£

´Ø¿ômultiply-by-seven¤ò»È¤¦¤È¤­¤Ë¤Ï¡¢ °ú¿ônumber¤ÏÆÉ¼Ô¤¬»ØÄꤷ¤¿¼ÂºÝ¤Î¿ô¤Ëɾ²Á¤µ¤ì¤ë¡£ multiply-by-seven¤Î»È¤¤Êý¤ò¼¨¤¹¤¬¡¢¤Þ¤À¡¢É¾²Á¤·¤Ê¤¤¤Ç¤Û¤·¤¤¡£

(multiply-by-seven 3)

´Ø¿ô¤ò¼ÂºÝ¤Ë»ÈÍѤ¹¤ë¤È¡¢¼¡Àá¤Î´Ø¿ôÄêµÁ¤Ë»ØÄꤷ¤¿¥·¥ó¥Ü¥ënumber¤Ë¤Ï¡¢ ÃÍ3¤¬Í¿¤¨¤é¤ì¤ë¡¢¤Ä¤Þ¤ê¡¢¡Ö«Çû¡×¤µ¤ì¤ë¡£ ´Ø¿ôÄêµÁ¤Ç¤Ïnumber¤Ï³ç¸Ì¤ÎÆâ¦¤Ë¤¢¤ë¤¬¡¢ ´Ø¿ômultiply-by-seven¤ËÅϤµ¤ì¤ë°ú¿ô¤Ï³ç¸Ì¤ÎÆâ¦¤Ë¤Ï¤Ê¤¤¤³¤È¤Ë Ãí°Õ¤·¤Æ¤Û¤·¤¤¡£ ´Ø¿ôÄêµÁ¤Ë¤ª¤¤¤Æ°ú¿ô¤ò³ç¸Ì¤Ç°Ï¤à¤Î¤Ï¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬ °ú¿ô¥ê¥¹¥È¤Î½ª¤ï¤ê¤È´Ø¿ôÄêµÁ¤Î»Ä¤ê¤ÎÉôʬ¤ò¶èÊ̤Ǥ­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¢¤ë¡£

¤µ¤Æ¡¢¤³¤ÎÎã¤òɾ²Á¤¹¤ë¤È¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÆÀ¤ë ¡Ê¼ÂºÝ¤Ë»î¤·¤Æ¤ß¤ë¤È¤è¤¤¡Ë¡£ ¤³¤ì¤Ï¡¢´Ø¿ôÄêµÁ¤ò½ñ¤¤¤¿¤±¤ì¤É¤â¡¢¤½¤ÎÄêµÁ¤ò¥³¥ó¥Ô¥å¡¼¥¿¤Ë Í¿¤¨¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£ ¤Ä¤Þ¤ê¡¢´Ø¿ôÄêµÁ¤òEmacs¤Ë¥¤¥ó¥¹¥È¡¼¥ë¡Ê¤¢¤ë¤¤¤Ï¡¢¥í¡¼¥É¡Ë¤·¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£ ´Ø¿ô¤Î¥¤¥ó¥¹¥È¡¼¥ë¤È¤Ï¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ë´Ø¿ô¤ÎÄêµÁ¤ò¶µ¤¨¤ëÁàºî¤Ç¤¢¤ë¡£ ¼¡Àá¤Ç¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£


Node:Install, Next:, Previous:defun, Up:Writing Defuns

´Ø¿ôÄêµÁ¤Î¥¤¥ó¥¹¥È¡¼¥ë

Emacs¤ÎInfo¤ÇÆÉ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢multiply-by-seven¤Î´Ø¿ôÄêµÁ¤ò ɾ²Á¤·¤Æ¤«¤é(multiply-by-seven 3)¤òɾ²Á¤¹¤ì¤Ð¡¢ ´Ø¿ômultiply-by-seven¤ò»î¤¹¤³¤È¤¬¤Ç¤­¤ë¡£ ´Ø¿ôÄêµÁ¤ò¤â¤¦°ìÅ٤Ĥ®¤Ë¤¢¤²¤Æ¤ª¤¯¡£ ´Ø¿ôÄêµÁ¤ÎºÇ¸å¤Î³ç¸Ì¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£ ¤¹¤ë¤È¡¢¥¨¥³¡¼Îΰè¤Ëmultiply-by-seven¤Èɽ¼¨¤µ¤ì¤ë ¡Ê´Ø¿ôÄêµÁ¤òɾ²Á¤¹¤ë¤È¡¢¤½¤ÎÃͤȤ·¤ÆÄêµÁ¤µ¤ì¤¿´Ø¿ô¤Î̾Á°¤¬ÊÖ¤µ¤ì¤ë¡Ë¡£ Ʊ»þ¤Ë¡¢¤³¤ÎÁàºî¤Ç´Ø¿ôÄêµÁ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤Î¤Ç¤¢¤ë¡£

(defun multiply-by-seven (number)
  "Multiply NUMBER by seven."
  (* 7 number))

¤³¤Îdefun¤òɾ²Á¤¹¤ë¤È¡¢Emacs¤Ëmultiply-by-seven¤ò¥¤¥ó¥¹¥È¡¼¥ë ¤·¤¿¤³¤È¤Ë¤Ê¤ë¡£ ¤³¤ì¤Ç¡¢forward-word¤äÊÔ½¸´Ø¿ô¤Ê¤É¤ÈƱ¤¸¤¯¡¢ ¤³¤Î´Ø¿ô¤âEmacs¤Î°ìÉô¤Ç¤¢¤ë ¡ÊEmacs¤ò½ªÎ»¤¹¤ë¤Þ¤Ç¡¢multiply-by-seven¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¤Þ¤Þ¤Ç¤¢¤ë¡£ Emacsµ¯Æ°»þ¤Ë¼«Æ°Åª¤Ë¥³¡¼¥É¤ò¥í¡¼¥É¤¹¤ë¤Ë¤Ï Permanent Installation¤ò»²¾È¡Ë¡£

¤Ä¤®¤ÎÎã¤òɾ²Á¤¹¤ì¤Ð¡¢multiply-by-seven¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸ú²Ì¤¬¤ï¤«¤ë¡£ ¤Ä¤®¤Î¼°¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£ ¥¨¥³¡¼Îΰè¤Ë¿ô21¤¬É½¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¢¤ë¡£

(multiply-by-seven 3)

ɬÍפʤé¤Ð¡¢C-h f¡Êdescribe-function¡Ë¤Ë³¤±¤Æ ´Ø¿ô̾ multiply-by-seven¤ò¥¿¥¤¥×¤¹¤ì¤Ð¡¢ ´Ø¿ô¤ÎÀâÌÀʸ¤òÆÉ¤à¤³¤È¤¬¤Ç¤­¤ë¡£ ¤³¤ì¤ò¹Ô¤¦¤È¡¢¤Ä¤®¤Î¤è¤¦¤ÊÆâÍÆ¤Î¥¦¥£¥ó¥É¥¦*Help*¤¬²èÌ̤˸½¤ì¤ë¡£

multiply-by-seven:
Multiply NUMBER by seven.

¡Ê²èÌ̤òñ°ì¤Î¥¦¥£¥ó¥É¥¦¤ËÌ᤹¤Ë¤Ï¡¢C-x 1¤È¥¿¥¤¥×¤¹¤ë¡£¡Ë


Node:Change a defun, Previous:Install, Up:Install

´Ø¿ôÄêµÁ¤ÎÊѹ¹

multiply-by-seven¤Î¥³¡¼¥É¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢½ñ¤­ÊѤ¨¤ì¤Ð¤è¤¤¡£ µìÈǤΤ«¤ï¤ê¤Ë¿·ÈǤò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢´Ø¿ôÄêµÁ¤òºÆÅÙɾ²Á¤¹¤ë¡£ Emacs¤Ç¤Ï¤³¤Î¤è¤¦¤Ë¥³¡¼¥É¤ò½¤Àµ¤¹¤ì¤Ð¤è¤¯¡¢Èó¾ï¤Ë´Êñ¤Ç¤¢¤ë¡£

Îã¤È¤·¤Æ¡¢7¤ò³Ý¤±¤ë¤«¤ï¤ê¤Ë¡¢¿ô¤½¤Î¤â¤Î¤ò7²ó­¤¹¤è¤¦¤Ë ´Ø¿ômultiply-by-seven¤òÊѹ¹¤¹¤ë¡£ Ʊ¤¸·ë²Ì¤òÆÀ¤ë¤¬¡¢¤½¤ÎÊýË¡¤¬°Û¤Ê¤ë¡£ Ʊ»þ¤Ë¡¢¥³¡¼¥É¤ËÃí¼á¤ò²Ã¤¨¤è¤¦¡£ Ãí¼á¤È¤Ï¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï̵»ë¤¹¤ë¥Æ¥­¥¹¥È¤Ç¤¢¤ë¤¬¡¢ ¿Í¤Ë¤ÏÍ­ÍѤǤ¢¤ê°ÕÌ£¤òÌÀ¤é¤«¤Ë¤¹¤ë¡£ ¤³¤ÎÎã¤Ç¤Ï¡¢¡ÖÂè2Èǡפ¬Ãí¼á¤Ç¤¢¤ë¡£

(defun multiply-by-seven (number)       ; Âè2ÈÇ
  "Multiply NUMBER by seven."
  (+ number number number number number number number))

¥»¥ß¥³¥í¥ó;¤Ë³¤±¤ÆÃí¼á¤ò½ñ¤¯¡£ Lisp¤Ç¤Ï¡¢¹Ô¤ÎÃæ¤Ç¥»¥ß¥³¥í¥ó¤Ë³¤¯¤â¤Î¤Ï¤¹¤Ù¤ÆÃí¼á¤Ç¤¢¤ë¡£ Ãí¼á¤Ï¹ÔËö¤Ç½ª¤ï¤ë¡£ 2¹Ô°Ê¾å¤Ë¤ï¤¿¤ëÃí¼á¤Ï¡¢³Æ¹Ô¤ò¥»¥ß¥³¥í¥ó¤Ç»Ï¤á¤ë¡£

Ãí¼á¤Ë´Ø¤·¤Æ¤è¤ê¾Ü¤·¤¯¤Ï¡¢ Comments¤ä See Beginning a .emacs File¡£

¤³¤ÎÈǤδؿômultiply-by-seven¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï¡¢ ºÇ½é¤ÎÈǤòɾ²Á¤·¤¿¤Î¤ÈƱ¤¸¤è¤¦¤Ëɾ²Á¤¹¤ì¤Ð¤è¤¤¡£ ¤¹¤Ê¤ï¤Á¡¢ºÇ¸å¤Î³ç¸Ì¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¡£

¤Þ¤È¤á¤ë¤È¡¢Emacs Lisp¤Ç¥³¡¼¥É¤ò½ñ¤¯¤Ë¤Ï¡¢ ´Ø¿ô¤ò½ñ¤¤¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¥Æ¥¹¥È¤·¡¢ ɬÍפ˱þ¤¸¤Æ¡¢½¤Àµ¤äµ¡Ç½¶¯²½¤·¤ÆºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£


Node:Interactive, Next:, Previous:Install, Up:Writing Defuns

´Ø¿ô¤òÂÐÏÃŪ¤Ë¤¹¤ë

´Ø¿ô¤òÂÐÏÃŪ¤Ë¤¹¤ë¤Ë¤Ï¡¢ ´Ø¿ô¤ÎÀâÌÀʸ¤Î¤¢¤È¤Ë¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àinteractive¤Ç»Ï¤Þ¤ë¥ê¥¹¥È¤òÃÖ¤¯¡£ ¤³¤¦¤¹¤ì¤Ð¡¢M-x¤Ë³¤±¤Æ´Ø¿ô̾¤ò¥¿¥¤¥×¤¹¤ë¤«¡¢ ´Ø¿ô¤Ë«Çû¤·¤¿¥­¡¼Îó¤ò¥¿¥¤¥×¤¹¤ì¤ÐÂÐÏÃŪ´Ø¿ô¤òµ¯Æ°¤Ç¤­¤ë¡£ ¤¿¤È¤¨¤Ð¡¢next-line¤òµ¯Æ°¤¹¤ë¤Ë¤ÏC-n¤È¥¿¥¤¥×¤·¡¢ mark-whole-buffer¤òµ¯Æ°¤¹¤ë¤Ë¤ÏC-x h¤È¥¿¥¤¥×¤¹¤ë¡£

ÂÐÏÃŪ´Ø¿ô¤òÂÐÏÃŪ¤Ë¸Æ¤Ó½Ð¤·¤¿¾ì¹ç¤Ë¤Ï¡¢ ´Ø¿ô¤¬ÊÖ¤·¤¿Ãͤϼ«Æ°Åª¤Ë¤Ï¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤µ¤ì¤Ê¤¤¡£ ¤³¤ì¤Ï¡¢ÂÐÏÃŪ´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤Î¤Ï¡¢Ã±¸ìñ°Ì¤ä¹Ôñ°Ì¤Î°Üư¤Ê¤É¤ÎÉûºîÍѤΠ¤¿¤á¤Ç¤¢¤ê¡¢ÊÖ¤µ¤ì¤¿ÃͤÏɬÍפʤ¤¤«¤é¤Ç¤¢¤ë¡£ ¥­¡¼¤ò¥¿¥¤¥×¤¹¤ë¤¿¤Ó¤ËÊÖ¤µ¤ì¤¿Ãͤò¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤¹¤ë¤È¡¢¤È¤Æ¤âÈѤ路¤¤¡£

multiply-by-seven¤ÎÂÐÏÃŪ¤ÊÈǤòºî¤Ã¤Æ¡¢ ¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àinteractive¤Î»È¤¤Êý¤È ¥¨¥³¡¼Îΰè¤ËÃͤòɽ¼¨¤¹¤ë1¤Ä¤ÎÊýË¡¤ò¼¨¤½¤¦¡£

¥³¡¼¥É¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£

(defun multiply-by-seven (number)       ; ÂÐÏÃŪÈÇ
  "Multiply NUMBER by seven."
  (interactive "p")
  (message "The result is %d" (* 7 number)))

¤³¤Î¥³¡¼¥É¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤·¤Æ¡¢ ¤³¤Î¥³¡¼¥É¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£ ¥¨¥³¡¼Îΰè¤Ë¤Ï´Ø¿ô̾¤¬É½¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¢¤ë¡£ ¤½¤¦¤¹¤ì¤Ð¡¢C-u¡¢¿ô¡¢M-x multiply-by-seven¤È¥¿¥¤¥×¤·¤Æ <RET>¤ò²¡¤»¤Ð¡¢¤³¤Î¥³¡¼¥É¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£ ¥¨¥³¡¼Îΰè¤Ë¤Ï¡¢ The result is ...¤Ë³¤±¤Æ¾è»»·ë²Ì¤¬É½¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¢¤ë¡£

¤è¤ê°ìÈÌŪ¤Ë¤Ï¡¢¤³¤Î¤è¤¦¤Ê´Ø¿ô¤òµ¯Æ°¤¹¤ëÊýË¡¤Ï2¤Ä¤¢¤ë¡£

  1. C-u 3 M-x forward-sentence¤Î¤è¤¦¤Ë¡¢ ´Ø¿ô¤ËÅϤ¹¤Ù¤­¿ô¤ò´Þ¤àÁ°ÃÖ°ú¿ô¤ò¥¿¥¤¥×¤·¤Æ¤«¤é¡¢ M-x¤Ë³¤±¤Æ´Ø¿ô̾¤ò¥¿¥¤¥×¤¹¤ë¡£ ¤¢¤ë¤¤¤Ï¡¢
  2. C-u 3 M-e¤Î¤è¤¦¤Ê´Ø¿ô¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿¥­¡¼Îó¤ò¥¿¥¤¥×¤¹¤ë¡£

¾å¤Î¥­¡¼Îó¤ÎÎã¤Ï¡¢¤É¤Á¤é¤â¥Ý¥¤¥ó¥È¤òʸñ°Ì¤Ë3¤Ä¿Ê¤á¤ë ¡Êmultiply-by-seven¤Ë¤Ï¥­¡¼¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢ ¥­¡¼¥Ð¥¤¥ó¥É¤ò»È¤¦Îã¤È¤·¤Æ¤Ï»È¤¨¤Ê¤¤¡Ë¡£

¡Ê¥³¥Þ¥ó¥É¤ò¥­¡¼¤Ë¥Ð¥¤¥ó¥É¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï See Keybindings¡£¡Ë

Á°ÃÖ°ú¿ô¤òÂÐÏÃŪ´Ø¿ô¤ËÅϤ¹¤Ë¤Ï¡¢ M-3 M-e¤Î¤è¤¦¤Ë¥­¡¼<META>¤Ë³¤±¤Æ¿ô¤ò¥¿¥¤¥×¤¹¤ë¤«¡¢ C-u 3 M-e¤Î¤è¤¦¤ËC-u¤Ë³¤±¤Æ¿ô¤ò¥¿¥¤¥×¤¹¤ë ¡Ê¿ô¤ò¥¿¥¤¥×¤»¤º¤ËC-u¤À¤±¤ò¥¿¥¤¥×¤¹¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¤Ï4¡Ë¡£


Node:multiply-by-seven in detail, Previous:Interactive, Up:Interactive

ÂÐÏÃŪmultiply-by-seven

¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àinteractive¤È´Ø¿ômessage¤Î»È¤¤Êý¤ò multiply-by-seven¤Ç¸«¤Æ¤ß¤è¤¦¡£ ´Ø¿ôÄêµÁ¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤Ã¤¿¡£

(defun multiply-by-seven (number)       ; ÂÐÏÃŪÈÇ
  "Multiply NUMBER by seven."
  (interactive "p")
  (message "The result is %d" (* 7 number)))

¤³¤Î´Ø¿ô¤Ç¤Ï¡¢¼°(interactive "p")¤Ï¡¢Í×ÁÇ2¸Ä¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£ "p"¤Ï¡¢Á°ÃÖ°ú¿ô¤ò´Ø¿ô¤ËÅϤ¹¤³¤È¤òEmacs¤Ë»Ø¼¨¤¹¤ë¤â¤Î¤Ç¡¢ ¤½¤ÎÃͤò´Ø¿ô¤Ø¤Î°ú¿ô¤È¤·¤Æ»È¤¦¡£

°ú¿ô¤Ï¿ô¤Ç¤¢¤ë¡£ ¤Ä¤Þ¤ê¡¢¤Ä¤®¤Î¹Ô¤Î¥·¥ó¥Ü¥ënumber¤Ë¤Ï¿ô¤¬Â«Çû¤µ¤ì¤ë¡£

(message "The result is %d" (* 7 number))

¤¿¤È¤¨¤Ð¡¢Á°ÃÖ°ú¿ô¤¬5¤Ç¤¢¤Ã¤¿¤È¤¹¤ë¤È¡¢ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¤Ä¤®¤Î¤è¤¦¤Ê¹Ô¤Ç¤¢¤ë¤È¤·¤ÆÉ¾²Á¤¹¤ë ¡ÊGNU Emacs¤ÇÆÉ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ÆÉ¼Ô¼«¿È¤¬¤³¤Î¼°¤òɾ²Á¤·¤Æ¤Û¤·¤¤¡Ë¡£

(message "The result is %d" (* 7 5))

¤Þ¤º¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ÏÆâ¦¤Î¥ê¥¹¥È(* 7 5)¤òɾ²Á¤¹¤ë¡£ ÃÍ35¤¬ÊÖ¤µ¤ì¤ë¡£ ¤Ä¤®¤Ë¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï³°Â¦¤Î¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤¬¡¢¤½¤ì¤Ë¤Ï¡¢ ¥ê¥¹¥È¤ÎÂè2Í×ÁǰʹߤÎÃͤò´Ø¿ômessage¤ËÅϤ¹¡£

¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢message¤Ï¥æ¡¼¥¶¡¼¤Ë1¹Ô¤Î¥á¥Ã¥»¡¼¥¸¤ò ɽ¼¨¤¹¤ë¤¿¤á¤Ë¹Í¤¨¤é¤ì¤¿Emacs Lisp¤Î´Ø¿ô¤Ç¤¢¤ë ¡ÊSee message¡Ë¡£ ¤¹¤Ê¤ï¤Á¡¢´Ø¿ômessage¤Ï¡¢%d¤ä%s¤ä%c¤ò½ü¤¤¤Æ¡¢ Âè1°ú¿ô¤ò»úÌ̤ΤȤª¤ê¤Ë¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤¹¤ë¡£ %d¤ä%s¤ä%c¤ÎÀ©¸æÊ¸»úÎ󤬤¢¤ë¤È¡¢ 2ÈÖÌܰʹߤΰú¿ô¤òÄ´¤Ù¤Æ¤½¤ÎÃͤòÂбþ¤¹¤ëÀ©¸æÊ¸»úÎó¤Î°ÌÃÖ¤Ëɽ¼¨¤¹¤ë¡£

ÂÐÏÃŪ´Ø¿ômultiply-by-seven¤Ç¤Ï¡¢ À©¸æÊ¸»úÎó¤È¤·¤Æ¤Ï%d¤ò»È¤Ã¤Æ¤ª¤ê¡¢¤³¤ì¤Ï¿ô¤òɬÍפȤ¹¤ë¡£ (* 7 5)¤òɾ²Á¤·¤¿·ë²Ì¤Ï¿ô35¤Ç¤¢¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢%d¤Î°ÌÃ֤˿ô35¤¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¡¢ ¥á¥Ã¥»¡¼¥¸¤ÏThe result is 35¤È¤Ê¤ë¡£

¡Ê´Ø¿ômultiply-by-seven¤ò¸Æ¤ó¤À¤È¤­¤Ï¡¢ ¥á¥Ã¥»¡¼¥¸¤Ë¤ÏÆó½Å°úÍÑÉ䤬ÉÕ¤«¤Ê¤¤¤¬¡¢message¤ò¸Æ¤ó¤À¤È¤­¤Ë¤Ï¡¢ Æó½Å°úÍÑÉä¤Î¤¢¤¤¤À¤Ë¥Æ¥­¥¹¥È¤¬É½¼¨¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤Û¤·¤¤¡£ message¤òÀèÆ¬Í×ÁǤȤ¹¤ë¼°¤òɾ²Á¤·¤¿¤È¤­¤Ë¤Ï¡¢ message¤¬ÊÖ¤·¤¿Ãͤ¬¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤µ¤ì¤ë¤¬¡¢ ´Ø¿ôÆâ¤ÇÍѤ¤¤¿¾ì¹ç¤Ë¤Ï¡¢ÉûºîÍѤȤ·¤Æmessage¤¬Æó½Å°úÍÑÉä¤Ê¤·¤Ç¥Æ¥­¥¹¥È¤ò ɽ¼¨¤¹¤ë¤«¤é¤Ç¤¢¤ë¡£¡Ë


Node:Interactive Options, Next:, Previous:Interactive, Up:Writing Defuns

interactive¤Î¾¤Î¥ª¥×¥·¥ç¥ó

¾å¤ÎÎã¤Îmultiply-by-seven¤Ç¤Ï¡¢ interactive¤Î°ú¿ô¤È¤·¤Æ"p"¤òÍѤ¤¤¿¡£ ¤³¤Î°ú¿ô¤Ï¡¢¥æ¡¼¥¶¡¼¤¬¥¿¥¤¥×¤·¤¿C-u¤ä<META>¤Ë³¤¯¿ô¤ò¡¢ ´Ø¿ô¤Ø¤Î°ú¿ô¤È¤·¤ÆÅϤ¹¥³¥Þ¥ó¥É¤È¤·¤Æ²ò¼á¤¹¤ë¤è¤¦¤ËEmacs¤Ë»Ø¼¨¤¹¤ë¡£ Emacs¤Ç¤Ï¡¢¤¢¤é¤«¤¸¤áÄêµÁ¤µ¤ì¤¿20¸Ä°Ê¾å¤Îʸ»ú¤òinteractive¤Ë»ØÄê¤Ç¤­¤ë¡£ ¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Î¿ô¸Ä¤ò»ØÄꤹ¤ì¤Ð¡¢ ɬÍפʾðÊó¤ò´Ø¿ô¤ØÂÐÏÃŪ¤ËÅϤ»¤ë ¡ÊSee Interactive Codes¡Ë¡£

¤¿¤È¤¨¤Ð¡¢Ê¸»úr¤ò»ØÄꤹ¤ë¤È¡¢Emacs¤Ï¡¢¥ê¡¼¥¸¥ç¥ó¤Î³«»Ï°ÌÃ֤ȽªÎ»°ÌÃÖ ¡Ê¥Ý¥¤¥ó¥È¤È¥Þ¡¼¥¯¤Î¸½ºßÃ͡ˤò2¤Ä¤Î°ú¿ô¤È¤·¤Æ´Ø¿ô¤ØÅϤ¹¡£ ¤Ä¤®¤Î¤è¤¦¤Ë»È¤¦¡£

(interactive "r")

°ìÊý¡¢B¤ò»ØÄꤹ¤ë¤È¡¢Emacs¤Ï´Ø¿ô¤Ë¥Ð¥Ã¥Õ¥¡Ì¾¤òÅϤ¹¡£ ¤³¤Î¾ì¹ç¡¢Emacs¤Ï¡¢"BAppend to buffer: "¤Î¤è¤¦¤ÊB¤Ë ³¤¯Ê¸»úÎó¤ò¥×¥í¥ó¥×¥È¤È¤·¤Æ¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ëɽ¼¨¤·¤Æ¡¢ ¥æ¡¼¥¶¡¼¤Ë̾Á°¤òÌ䤤¹ç¤ï¤»¤ë¡£ Emacs¤Ï¥×¥í¥ó¥×¥È¤òɽ¼¨¤¹¤ë¤À¤±¤Ç¤Ê¤¯¡¢<TAB>¤¬²¡¤µ¤ì¤ë¤È̾Á°¤òÊä´°¤¹¤ë¡£

2¤Ä°Ê¾å¤Î°ú¿ô¤ò¼è¤ë´Ø¿ô¤Ç¤Ï¡¢ interactive¤Ë³¤¯Ê¸»úÎó¤ËÍ×ÁǤòÄɲ乤ì¤Ð³Æ°ú¿ô¤Ë¾ðÊó¤òÅϤ»¤ë¡£ ¤³¤Î¤È¤­¡¢³Æ°ú¿ô¤Ë¾ðÊó¤òÅϤ¹½çÈ֤ϡ¢ ¥ê¥¹¥Èinteractive¤Ë»ØÄꤷ¤¿½çÈÖ¤ÈÆ±¤¸¤Ç¤¢¤ë¡£ ʸ»úÎó¤Î³ÆÉôʬ¤Ï¡¢²þ¹Ô\n¤Ç¶èÀڤ롣 ¤¿¤È¤¨¤Ð¡¢"BAppend to buffer: "¤Ë³¤±¤Æ¡¢\n¤Èr¤ò »ØÄꤹ¤ë¡£ ¤³¤¦¤¹¤ë¤È¡¢Emacs¤Ï¥Ð¥Ã¥Õ¥¡Ì¾¤òÌ䤤¹ç¤ï¤»¤ë¤³¤È¤Ë²Ã¤¨¤Æ¡¢ ¥Ý¥¤¥ó¥È¤È¥Þ¡¼¥¯¤ÎÃͤò´Ø¿ô¤ËÅϤ¹¡£ ¤Ä¤Þ¤ê¡¢°ú¿ô¤ÏÁ´Éô¤Ç3¤Ä¤Ç¤¢¤ë¡£

¤³¤Î¾ì¹ç¡¢´Ø¿ôÄêµÁ¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ê¡¢ buffer¡¢start¡¢end¤Î³Æ¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢ ¥Ð¥Ã¥Õ¥¡¡¢¥ê¡¼¥¸¥ç¥ó¤Î³«»Ï°ÌÃÖ¡¢ ½ªÎ»°ÌÃ֤θ½ºßÃͤòinteractive¤¬Â«Çû¤¹¤ë¡£

(defun ´Ø¿ô̾ (buffer start end)
  "ÀâÌÀʸ..."
  (interactive "BAppend to buffer: \nr")
  ´Ø¿ô¤ÎËÜÂÎ...)

¡Ê¥×¥í¥ó¥×¥È¤Î¥³¥í¥ó¤Î¤¦¤·¤í¤Î¶õÇò¤Ï¡¢ ¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤¿¤È¤­¤Ë¸«¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡£ ´Ø¿ôappend-to-buffer¤Ç¤â¤³¤Î¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡£ See append-to-bufferm¡£¡Ë

°ú¿ô¤¬¤Ê¤¤´Ø¿ô¤Î¾ì¹ç¤Ë¤Ï¡¢interactive¤Ë¤Ï²¿¤â»ØÄꤷ¤Ê¤¯¤Æ¤è¤¤¡£ ¤½¤Î¤è¤¦¤Ê´Ø¿ô¤Ç¤Ï¡¢Ã±¤Ë¼°(interactive)¤ò»ØÄꤹ¤ë¡£ ´Ø¿ômark-whole-buffer¤Ï¡¢¤³¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£

ÆÉ¼Ô¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤ª¤¤¤Æ¡¢¤¢¤é¤«¤¸¤áÄêµÁ¤·¤¿Ê¸»ú¤Ç¤ÏÉÔ½½Ê¬¤Ê¾ì¹ç¤Ë¤Ï¡¢ interactive¤Ë¥ê¥¹¥È¤ò»ØÄꤹ¤ì¤Ð¡¢ÆÈ¼«¤Î°ú¿ô¤òÅϤ»¤ë¡£ ¤³¤Îµ»Ë¡¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯¤Ï¡¢See interactive¡£


Node:Permanent Installation, Next:, Previous:Interactive Options, Up:Writing Defuns

¥³¡¼¥É¤Î¹±µ×Ū¥¤¥ó¥¹¥È¡¼¥ë

´Ø¿ôÄêµÁ¤òɾ²Á¤·¤Æ´Ø¿ôÄêµÁ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡¢ Emacs¤ò½ªÎ»¤¹¤ë¤Þ¤Ç¤Ï´Ø¿ôÄêµÁ¤ÏÍ­¸ú¤Ç¤¢¤ë¡£ ¿·¤¿¤ËEmacs¤òµ¯Æ°¤·¤¿¤È¤­¤Ë¤Ï¡¢ ´Ø¿ôÄêµÁ¤òºÆÅÙɾ²Á¤¹¤ë¤Þ¤Ç¤Ï´Ø¿ôÄêµÁ¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Ê¤¤¡£

¿·¤¿¤ËEmacs¤òµ¯Æ°¤¹¤ë¤¿¤Ó¤Ë¡¢¼«Æ°Åª¤Ë¥³¡¼¥É¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¯¤Ê¤ë¤Ç¤¢¤í¤¦¡£ ¤³¤ì¤Ë¤Ï¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¤¢¤ë¡£

ºÇ¸å¤Ë¡¢Emacs¤Î¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¤¬»È¤¤¤½¤¦¤Ê¥³¡¼¥É¤Ê¤é¤Ð¡¢ ¥Í¥Ã¥È¥ï¡¼¥¯¤ËÅê¹Æ¤¹¤ë¤«Free Software Foundation¤ËÁ÷ÉÕ¤¹¤ë ¡Ê¤³¤¦¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢Åê¹Æ¤¹¤ë¤Þ¤¨¤Ë¥³¡¼¥É¤Ë ¥³¥Ô¡¼¥ì¥Õ¥È¤ÎÃí°Õ½ñ¤­¤òÆþ¤ì¤Æ¤Û¤·¤¤¡Ë¡£ Free Software Foundation¤Ë¥³¡¼¥É¤òÁ÷ÉÕ¤¹¤ë¤È¡¢ Emacs¤Î¼¡´ü¥ê¥ê¡¼¥¹¤Ë¥³¡¼¥É¤¬´Þ¤Þ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£ ¤³¤Î¤è¤¦¤Ê¡Ö´ó£¹Ô°Ù¡×¤Ë¤è¤êEmacs¤¬À®Ä¹¤·¤Æ¤­¤¿¤Î¤Ç¤¢¤ë¡£


Node:let, Next:, Previous:Permanent Installation, Up:Writing Defuns

let

let¼°¤ÏLisp¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ç¤¢¤ê¡¢ ¤Û¤È¤ó¤É¤Î´Ø¿ôÄêµÁ¤Ç»È¤¦É¬Íפ¬¤¢¤ë¡£ let¤Ï¤è¤¯»È¤¦¤Î¤Ç¡¢ËÜÀá¤ÇÀâÌÀ¤·¤Æ¤ª¤¯¡£

let¤Ï¥·¥ó¥Ü¥ë¤ËÃͤò·ë¤ÓÉÕ¤±¤ë¡¢¤¹¤Ê¤ï¤Á¡¢Â«Çû¤¹¤ë¤Î¤Ç¤¢¤ë¤¬¡¢ ´Ø¿ô¤ÎÆâÉô¤È³°Éô¤ÇƱ¤¸Ì¾Á°¤ÎÊÑ¿ô¤ò»È¤Ã¤Æ¤âLisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬º®Í𤷤ʤ¤ ¤è¤¦¤ÊÊýË¡¤Ç¤³¤ì¤ò¹Ô¤¦¡£ ¤³¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤¬É¬ÍפÊÍýͳ¤òÍý²ò¤¹¤ë¤¿¤á¤Ë¡¢ ¡Ö²È¤òÅÉÁõ¤·Ä¾¤¹É¬Íפ¬¤¢¤ë¡×¤Ê¤É¤Î¤è¤¦¤Ë°ìÈÌŪ¤Ë¡Ö²È¡×¤È¸Æ¤Ö¤è¤¦¤Ê ²È²°¤ò½êÍ­¤·¤Æ¤¤¤ë¾õ¶·¤ò²¾Äꤷ¤Æ¤ß¤è¤¦¡£ ÆÉ¼Ô¤¬Í§¿ÍÂð¤òˬÌ䤷¤¿¤È¤­¤Ë¡¢Í§¿Í¤¬¡Ö²È¡×¤È¤¤¤Ã¤¿¤È¤­¤Ë¤Ï¡¢ ͧ¿Í¤Î²È¤ò°ÕÌ£¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤Ã¤Æ¡¢ÆÉ¼Ô¤Î²È¤Ç¤Ï¤Ê¤¤¤À¤í¤¦¡£ ͧ¿Í¤ÏÈà¤Î²È¤ò°ÕÌ£¤·¤Æ¤¤¤ë¤Î¤Ë¡¢ÆÉ¼Ô¤¬ÆÉ¼Ô¤Î²È¤ò°ÕÌ£¤·¤Æ¤¤¤ë¤È¹Í¤¨¤ë¤È¡¢ º®Íð¤¬À¸¤¸¤ë¡£ ¤¢¤ë´Ø¿ô¤ÎÆâÉô¤Ç»È¤¦ÊÑ¿ô¤ÈÊ̤δؿô¤ÎÆâÉô¤Ç»È¤¦ÊÑ¿ô¤¬Æ±¤¸Ì¾Á°¤Ç¤â¡¢ Ʊ¤¸Ãͤò»²¾È¤¹¤ë°Õ¿Þ¤¬¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢Lisp¤Ç¤âƱ¤¸¤³¤È¤¬µ¯¤³¤ë¡£

¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àlet¤Ï¤³¤Î¼ï¤Îº®Íð¤òËɤ°¡£ let¤Ï¡¢let¼°¤Î³°Â¦¤Ë¤¢¤ëƱ¤¸Ì¾Á°¤ò±£¤¹¤è¤¦¤Ê ¥í¡¼¥«¥ëÊÑ¿ô¡Êlocal variable¡Ë¤È¤·¤Æ¤Î̾Á°¤òºî¤ê½Ð¤¹¡£ ¤³¤ì¤Ï¡¢Í§¿Í¤¬¡Ö²È¡×¤È¤¤¤Ã¤¿¾ì¹ç¡¢Èà¤ÏÆÉ¼Ô¤Î¤Ç¤Ï¤Ê¤¯Èà¤Î²È¤ò°ÕÌ£¤·¤Æ¤¤¤ë¤È Íý²ò¤¹¤ë¤³¤È¤Ë»÷¤Æ¤¤¤ë ¡Ê°ú¿ô¥ê¥¹¥È¤Ë»È¤ï¤ì¤ë¥·¥ó¥Ü¥ë¤âƱ¤¸¤è¤¦¤ËƯ¤¯¡£ See defun¡Ë¡£

let¼°¤¬ºî¤ë¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢let¼°¤ÎÆâ¦ ¡Ê¤Èlet¼°¤«¤é¸Æ¤Ð¤ì¤¿¼°¤ÎÆâ¦¡Ë¤Ç¤Î¤ß¤½¤ì¤é¤ÎÃͤòÊÝ»ý¤¹¤ë¡£ ¥í¡¼¥«¥ëÊÑ¿ô¤Ï¡¢let¼°¤Î³°Â¦¤Ë¤Ï¤Þ¤Ã¤¿¤¯±Æ¶Á¤·¤Ê¤¤¡£

let¤Ç¤Ï°ìÅÙ¤ËÊ£¿ô¸Ä¤ÎÊÑ¿ô¤òºî¤ì¤ë¡£ ¤Þ¤¿¡¢let¤Ç³ÆÊÑ¿ô¤òºî¤ë¤È¤­¤Ë¤Ï¡¢ »ØÄꤷ¤¿Ãͤ«nil¤ò½é´üÃͤȤ·¤ÆÀßÄê¤Ç¤­¤ë ¡ÊÀìÌçÍѸì¤Ç¤Ï¡¢¡ÖÊÑ¿ô¤ËÃͤò«Çû¤¹¤ë¡×¤È¤¤¤¦¡Ë¡£ let¤ÇÊÑ¿ô¤òºî¤Ã¤ÆÂ«Çû¤¹¤ë¤È¡¢let¤ÎËÜÂΤΥ³¡¼¥É¤ò¼Â¹Ô¤·¡¢ let¼°Á´ÂΤÎÃͤȤ·¤ÆËÜÂΤκǸå¤Î¼°¤ÎÃͤòÊÖ¤¹ ¡Ê¡Ö¼Â¹Ô¡Êexecute¡Ë¡×¤È¤Ï¡¢¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤³¤È¤ò°ÕÌ£¤¹¤ëÀìÌçÍѸì¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï¡¢¡Ö¼Â¼ÁŪ¤Ê¸ú²Ì¤òÍ¿¤¨¤ë¡×¤È¤¤¤¦Ã±¸ì¤ÎÍÑË¡ ¡ÊOxford English Dictionary¡Ë¤«¤é¤­¤Æ¤¤¤ë¡£ ¤¢¤ëưºî¤ò¹Ô¤ï¤»¤ë¤¿¤á¤Ë¼°¤òɾ²Á¤¹¤ë¤Î¤Ç¡¢ ¡Ö¼Â¹Ô¡Êexecute¡Ë¡×¤Ï¡Öɾ²Á¡Êevaluate¡Ë¡×¤ÎƱµÁ¸ì¤Ç¤¢¤ë¡Ë¡£


Node:Parts of let Expression, Next:, Previous:let, Up:let

let¼°¤Î¹½Â¤

let¼°¤Ï¡¢3¤Ä¤ÎÍ×ÁǤ«¤é¤Ê¤ë¥ê¥¹¥È¤Ç¤¢¤ë¡£ Âè°ì¤ÎÉôʬ¤Ï¡¢¥·¥ó¥Ü¥ëlet¤Ç¤¢¤ë¡£ ÂèÆó¤ÎÉôʬ¤Ï¡¢ÊÑ¿ô¥ê¥¹¥È¡Êvarlist¡Ë¤È¸Æ¤Ð¤ì¤ë¥ê¥¹¥È¤Ç¤¢¤ê¡¢ ¤½¤Î¸Ä¡¹¤ÎÍ×ÁǤϡ¢Ã±ÆÈ¤Î¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¤«¡¢Âè1Í×ÁǤ¬¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¤è¤¦¤Ê 2Í×Áǥꥹ¥È¤Ç¤¢¤ë¡£ let¼°¤ÎÂè3¤ÎÉôʬ¤Ï¡¢let¤ÎËÜÂΤǤ¢¤ë¡£ Ä̾ËÜÂΤÏÊ£¿ô¸Ä¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£

let¼°¤Î¿÷·¿¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£

(let ÊÑ¿ô¥ê¥¹¥È ËÜÂÎ...)

ÊÑ¿ô¥ê¥¹¥È¤Î³Æ¥·¥ó¥Ü¥ë¤Ï¡¢ ¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àlet¤Ç½é´üÃͤòÀßÄꤵ¤ì¤¿ÊÑ¿ô¤Ç¤¢¤ë¡£ ñÆÈ¤Î¥·¥ó¥Ü¥ë¤Î¾ì¹ç¡¢½é´üÃͤÏnil¤Ç¤¢¤ë¡£ Âè1Í×ÁǤ¬¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¤è¤¦¤Ê2Í×Áǥꥹ¥È¤Ç¤¢¤ë¾ì¹ç¡¢ ¤½¤Î¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬Âè2Í×ÁǤòɾ²Á¤·¤¿·ë²Ì¤ò«Çû¤¹¤ë¡£

¤