defun.
.emacs file.
--- The Detailed Node Listing ---
Preface
List Processing
Lisp Lists
The Lisp Interpreter
Evaluation
Variables
Arguments
Setting the Value of a Variable
setq to count.
Practicing Evaluation
How To Write Function Definitions
defun special form.
interactive.
Install a Function Definition
Make a Function Interactive
let
The if Special Form
if expression.
save-excursion
A Few Buffer--Related Functions
goto-char,
point-min, and push-mark.
beginning-of-buffer.
save-excursion and
insert-buffer-substring.
The Definition of mark-whole-buffer
The Definition of append-to-buffer
let expression.
save-excursion works.
A Few More Complex Functions
set-buffer, get-buffer-create.
or.
goto-char,
point-min, and push-mark.
The Definition of insert-buffer
or and a let.
if instead of an or.
or expression works.
save-excursion expressions.
The Interactive Expression in insert-buffer
Complete Definition of beginning-of-buffer
beginning-of-buffer with an Argument
Narrowing and Widening
save-restriction special form.
car, cdr, cons: Fundamental Functions
cdr repeatedly.
cons
Cutting and Storing Text
zap-to-char
progn function.
point and search-forward.
The Version 18 Implementation
progn expression
copy-region-as-kill
copy-region-as-kill
The Body of copy-region-as-kill
kill-append function
copy-region-as-kill
How Lists are Implemented
Yanking Text Back
kill-ring-yank-pointer variable.
Loops and Recursion
while
while loop that uses a list.
while, car, cdr.
A Loop with an Incrementing Counter
Loop with a Decrementing Counter
Recursion
while loop with recursion.
Recursion in Place of a Counter
Regular Expression Searches
sentence-end.
search-forward.
TAGS table.
forward-sentence
while loops.
forward-paragraph: a Goldmine of Functions
let* expression.
while loop.
forward-paragraph code.
Counting: Repetition and Regexps
The count-words-region Function
count-words-region
Counting Words in a defun
count-words.
Count Words in defuns in Different Files
Prepare the Data for Display in a Graph
Readying a Graph
Your .emacs File
.emacs file.
Debugging
Handling the Kill Ring
The rotate-yank-pointer Function
rotate-yank-pointer.
The Body of rotate-yank-pointer
if expression.
%, function.
% in rotate-yank-pointer.
yank
rotate-yank-pointer.
A Graph with Labelled Axes
let expression in print-graph.
The print-Y-axis Function
The print-X-axis Function
Printing the Whole Graph
Graphing Numbers of Words and Symbols
Ëܽñ¤Ï¡¢¡Ö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¡×¤Ë¸ÇͤÎÀßÄê ...)
²èÌÌüËö¤Î¾ì¹ç¤ÎÀßÄê ...)
¥Æ¥¥¹¥È¥¨¥Ç¥£¥¿GNU Emacs¤ÎÂçÉôʬ¤ÏEmacs Lisp¤È¸Æ¤Ð¤ì¤ë¥×¥í¥°¥é¥ß¥ó¥° ¸À¸ì¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¡£ ¤³¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç½ñ¤¤¤¿¥³¡¼¥É¤Ï¡¢¥æ¡¼¥¶¡¼¤¬»ØÎá¤òÍ¿¤¨¤¿ ¤È¤¤Ë²¿¤ò¤¹¤Ù¤¤«¤ò¥³¥ó¥Ô¥å¡¼¥¿¤Ë»Ø¼¨¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¡Ê°ìÏ¢¤ÎÌ¿Îá¡Ë¤Ç¤¢¤ë¡£ Emacs¤Ï¡¢Emacs Lisp¤Ç¿·¤¿¤Ë¥³¡¼¥É¤ò½ñ¤¤¤Æ¥¨¥Ç¥£¥¿¤Î³ÈÄ¥µ¡Ç½¤È¤·¤Æ ´Êñ¤ËÄɲäǤ¤ë¤è¤¦¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¡£ ¡Ö³ÈÄ¥²Äǽ¤Ê¥¨¥Ç¥£¥¿¡×¤È¸Æ¤Ð¤ì¤ë·ë±ï¤Ç¤¢¤ë¡£
¡ÊEmacs¤ÏÊÔ½¸µ¡Ç½°Ê¾å¤Î¤â¤Î¤òÄ󶡤¹¤ë¤¿¤á¡¢¡Ö³ÈÄ¥²Äǽ¤Ê·×»»´Ä¶¡×¤È¤Ç¤â ¸Æ¤Ö¤Ù¤¤Ç¤¢¤ë¤¬¡¢¾¯¡¹¤¤¤¤¤Å¤é¤¤¡£ ¥Þ¥äÎñ¤ä·î¤ÎËþ¤Á·ç¤±¤òÄ´¤Ù¤¿¤ê¡¢Â¿¹à¼°¤ò´ÊÌ󲽤·¤¿¤ê¡¢¥³¡¼¥É¤ò¥Ç¥Ð¥Ã¥°¤·¤¿¤ê¡¢ ¥Õ¥¡¥¤¥ë¤ò´ÉÍý¤·¤¿¤ê¡¢¼ê»æ¤òÆÉ¤ó¤À¤ê¡¢Ëܤò½ñ¤¤¤¿¤ê¤Ê¤É¤Î Emacs¤Ç¹Ô¤¨¤ë¤¹¤Ù¤Æ¤Î¤³¤È¤Ï¡¢¤â¤Ã¤È¤â°ìÈÌŪ¤Ê°ÕÌ£¤ÇÊÔ½¸¤Ç¤¢¤ë¡£¡Ë
Emacs Lisp¤Ï¥Æ¥¥¹¥È¥¨¥Ç¥£¥¿¤Ë´ØÏ¢ÉÕ¤±¤Æ¹Í¤¨¤é¤ì¤¬¤Á¤Ç¤¢¤ë¤¬¡¢ ¤½¤ì¼«ÂΤÇ1¤Ä¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤¢¤ë¡£ ¾¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ÈƱÍͤ˻Ȥ¨¤ë¡£
¥×¥í¥°¥é¥ß¥ó¥°¤òÍý²ò¤·¤¿¤¤¡¢Emacs¤ò³ÈÄ¥¤·¤¿¤¤¡¢¥×¥í¥°¥é¥Þ¤Ë¤Ê¤ê¤¿¤¤¤È¤¤¤¦ ÆÉ¼Ô¤â¤¤¤ë¤³¤È¤Ç¤¢¤í¤¦¡£ Emacs Lisp¤ÎÆþÌç¤Ç¤¢¤ëËܽñ¤Ï¡¢¥×¥í¥°¥é¥ß¥ó¥°¤Î´ðËܤò³Ø¤Ö¤¿¤á¤Î»Ø¿Ë¤òÍ¿¤¨¡¢ ¤µ¤é¤Ë½ÅÍפʤ³¤È¤Ï¡¢¼«ÎϤdzؽ¬¤¹¤ëÊýË¡¤ò¼¨¤¹¤¿¤á¤Ë¼¹É®¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£
Ëܽñ¤Ë¤Ï¡¢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¤òÍøÍѤǤ¤ë¤Î¤Ç¤¢¤ë¡£ ¤³¤ÎÆÈΩÀ¤Ï¹¥¤Þ¤·¤¤¤À¤±¤Ç¤Ê¤¯ÍøÅÀ¤Ç¤â¤¢¤ë¡£
Ëܽñ¤Ï¡¢¥×¥í¥°¥é¥Þ¤Ç¤Ï¤Ê¤¤¿Í¸þ¤±¤Î½éÊâ¤ÎÆþÌç½ñ¤Ç¤¢¤ë¡£ ¤¹¤Ç¤Ë¥×¥í¥°¥é¥Þ¤Ç¤¢¤ëÆÉ¼Ô¤Ë¤Ï¡¢Ëܽñ¤Ïʪ¤ê¤Ê¤¤¤Ç¤¢¤í¤¦¡£ ¤È¤¤¤¦¤Î¤Ï¡¢¤½¤Î¤è¤¦¤ÊÆÉ¼Ô¤Ï¤¹¤Ç¤Ë¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤ò¸ʬ¤ËÆÉ¤á¤ë¤è¤¦¤Ë ¤Ê¤Ã¤Æ¤ª¤ê¡¢Ëܽñ¤Î¹½À®¤Ï´Ö±ä¤Ó¤·¤Æ¸«¤¨¤ë¤Ç¤¢¤í¤¦¡£
·Ð¸³¤¢¤ë¥×¥í¥°¥é¥Þ¤Ï¡¢Ëܽñ¤ò¤Ä¤®¤Î¤è¤¦¤Ëɾ²Á¤·¤Æ¤¯¤ì¤¿¡£
¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤Ç³Ø¤Ö¤Û¤¦¤¬¹¥¤¤Ç¤¢¤ë¡£ ³ÆÃÊÍî¤Ë¡ÖÈô¤Ó¹þ¤ó¤Ç¡×¡¢ÃÊÍî¤Î¤¢¤¤¤À¤Ç¡Ö©¤Ä¤®¡×¤¹¤ë¡£ÃÊÍî¤òÆÉ¤ß½ª¤¨¤¿¤È¤¤Ë¤Ï¡¢¤½¤³¤Ç¼è¤ê¾å¤²¤¿ÏÃÂê¤Ï´°·ë¤·¤Æ¤ª¤ê¡¢ ɬÍפʤ³¤È¤Ï¡Ê°Ê¹ß¤ÎÃÊÍî¤Ç¤è¤ê¾Ü¤·¤¯ÀâÌÀ¤¹¤ë¾ì¹ç¤ò½ü¤¤¤Æ¡Ë ¤¹¤Ù¤Æ¤ï¤«¤Ã¤¿¤È²¾Äꤷ¤¿¤¤¡£ ¤è¤¯¹½À®¤µ¤ì¤¿¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤Ë¤Ï¡¢ ¾éŤÊÉôʬ¤¬¤Ê¤¯¡¢É¬ÍפʾðÊó¤Ø¤Îº÷°ú¤¬À°È÷¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¢¤ë¡£
Ëܽñ¤Ï¡¢¤³¤Î¤è¤¦¤Ê¿Í¸þ¤±¤Ç¤Ï¤Ê¤¤¡ª
Âè°ì¤Ë¡¢¤ª¤Î¤ª¤Î¤Î¤³¤È¤¬¤é¤ò¾¯¤Ê¤¯¤È¤â3²ó¤ÏÀâÌÀ¤¹¤ë¤è¤¦¤ËÅØ¤á¤¿¡£ 1²óÌܤϾҲð¡¢2²óÌܤϻȤ¤Êý¡¢3²óÌܤÏÊ̤λȤ¤Êý¤äÉü½¬¤Ç¤¢¤ë¡£
ÂèÆó¤Ë¡¢1¤Ä¤ÎÏÃÂê¤Ë´Ø¤¹¤ë¤¹¤Ù¤Æ¤Î¾ðÊó¤ò1¤«½ê¤Ë¤Þ¤È¤á¤ë¤³¤È¤Ï¤»¤º¤Ë¡¢ 1¤Ä¤ÎÃÊÍî¤ËµÍ¤á²á¤®¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£ É®¼Ô¤Î¹Í¤¨Êý¤Ç¤Ï¡¢¤½¤¦¤·¤Ê¤¤¤ÈÆÉ¼Ô¤Ë½Å²Ù¤òÇØÉé¤ï¤»¤ë¤³¤È¤Ë¤Ê¤ë¤«¤é¤Ç¤¢¤ë¡£ ¤«¤ï¤ê¤Ë¡¢¤½¤Î»þÅÀ¤ÇɬÍפʤ³¤È¤Î¤ß¤òÀâÌÀ¤¹¤ë¤è¤¦¤ËÅØ¤á¤¿ ¡Ê¤¢¤È¤Ç¾Ü¤·¤¯ÀâÌÀ¤¹¤ë¾ì¹ç¤ËÈ÷¤¨¤Æ¡¢¾¯¡¹Í¾Ê¬¤ËÀâÌÀ¤¹¤ë¾ìÌ̤⤢¤ë¡Ë¡£
1²óÆÉ¤à¤À¤±¤Ç¡¢¤¹¤Ù¤Æ¤òÍý²ò¤·¤Æ¤â¤é¤¨¤ë¤È¤Ï¹Í¤¨¤Æ¤¤¤Ê¤¤¡£ ÆÉ¼Ô¤Ï¡¢ÀâÌÀÆâÍÆ¤ò¡Ö¤ï¤«¤Ã¤¿¤Ä¤â¤ê¡×¤Ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¤À¤í¤¦¡£ ½ÅÍפʤ³¤È¤¬¤é¤òÀµ¤·¤¯ÆÉ¼Ô¤Ë»Ø¤·¼¨¤·¡¢ Ãí°Õ¤òÂ¥¤¹¤è¤¦¤ËËܽñ¤ò¹½À®¤·¤¿¤Ä¤â¤ê¤Ç¤¢¤ë¡£
¤¤¤¯¤Ä¤«¤ÎÃÊÍî¤Ë¤Ï¡¢¡ÖÈô¤Ó¹þ¤ó¤Ç¡×¤â¤é¤¦¤·¤«¤Ê¤¯¡¢ ¤½¤ì°Ê³°¤ËÆÉ¤ß¿Ê¤àÊýË¡¤Ï¤Ê¤¤¡£ ¤·¤«¤·¡¢¤½¤Î¤è¤¦¤ÊÃÊÍî¤Î¸Ä¿ô¤Ï¾¯¤Ê¤¯¤¹¤ë¤è¤¦¤ËÅØ¤á¤¿¡£ Ëܽñ¤ÏÅÐĺº¤Æñ¤Ê»³¤Ç¤Ï¤Ê¤¯¡¢³Ú¤ËÊ⤱¤ë¾®»³¤Ç¤¢¤ë¡£
ËܽñEmacs Lisp¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç¤Ë¤Ï¡¢ »ÐËåÊԤȸƤ֤٤¥É¥¥å¥á¥ó¥È ¤¬¤¢¤ë¡£ ¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤Ë¤ÏËܽñ¤è¤ê¾Ü¤·¤¤ÀâÌÀ¤¬¤¢¤ë¡£ ¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤Ç¤Ï¡¢1¤Ä¤ÎÏÃÂê¤Ë´Ø¤¹¤ë¾ðÊó¤Ï1¤«½ê¤Ë¤¹¤Ù¤Æ¤Þ¤È¤á¤Æ¤¢¤ë¡£ ¾å¤Ç½Ò¤Ù¤¿¤è¤¦¤Ê¥×¥í¥°¥é¥Þ¤Ï¡¢¤½¤Á¤é¤ò»²¾È¤¹¤Ù¤¤Ç¤¢¤ë¡£ ¤â¤Á¤í¤ó¡¢Ëܽñ¤òÆÉ¤ß½ª¤¨¤Æ¼«Ê¬¤Î¥×¥í¥°¥é¥à¤ò½ñ¤¯¤È¤¤Ë¤Ï¡¢ ¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë¤¬ÍÍѤǤ¢¤ë¤Ï¤º¤Ç¤¢¤ë¡£
Lisp¤Ï¡¢¿Í¹©ÃÎǽ¤Î¸¦µæ¤Î¤¿¤á¤Ë¡¢ 1950ǯÂåËö¤Ë¥Þ¥µ¥Á¥å¡¼¥»¥Ã¥Ä¹©²ÊÂç³Ø¤Ç½é¤á¤Æ³«È¯¤µ¤ì¤¿¡£ Lisp¸À¸ì¤Ï¤½¤Î¶¯ÎϤʵ¡Ç½¤Î¤¿¤á¡¢ ¥¨¥Ç¥£¥¿¥³¥Þ¥ó¥É¤ò½ñ¤¯¤Ê¤É¤Î¾¤ÎÌÜŪ¤Ë¤âÍ¥¤ì¤Æ¤¤¤ë¡£
GNU Emacs Lisp¤Ï¡¢1960ǯÂå¤ËMIT¤Ç³«È¯¤µ¤ì¤¿Maclisp¤«¤é¿¤¯¤ò¼õ¤±·Ñ¤¤¤Ç¤¤¤ë¡£
1980ǯÂå¤Ëɸ½àµ¬³Ê¤È¤Ê¤Ã¤¿Common Lisp¤«¤é¤â°ìÉô¤ò¼õ¤±·Ñ¤¤¤Ç¤¤¤ë¡£
¤·¤«¤·¡¢Emacs Lisp¤Ï¡¢Common Lisp¤è¤ê¤â¤º¤Ã¤Èñ½ã¤Ç¤¢¤ë
¡ÊEmacs¤Îɸ½à¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë¤Ï¡¢
Common Lisp¤Î¿¤¯¤Îµ¡Ç½¤òEmacs Lisp¤ËÄɲ乤뤿¤á¤Î
µ¡Ç½³ÈÄ¥ÍÑ¥Õ¥¡¥¤¥ëcl.el¤¬¤¢¤ë¡Ë¡£
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¤Î¤ß¤ò°ÕÌ£¤¹¤ë¡£
Ëܽñ¤Î¼¹É®¤Ë¶¨ÎϤ·¤Æ¤¤¤¿¤À¤¤¤¿Êý¡¹¤Ë´¶¼Õ¤·¤¿¤¤¡£ ÆÃ¤Ë¡¢Jim Blandy¡¢Noah Friedman¡¢Jim Kingdon¡¢Roland McGrath¡¢ Frank Ritter¡¢Randy Smith¡¢Richard M. Stallman¡¢ Melissa Weisshaus¤Ë´¶¼Õ¤·¤¿¤¤¡£ ¿ÉÊú¶¯¤¯Îå¤Þ¤·¤Æ¤¯¤ì¤¿Philip Johnson¤ÈDavid Stampe¤Ë¤â´¶¼Õ¤·¤¿¤¤¡£ ¸í¤ê¤¬¤¢¤ì¤ÐÉ®¼Ô¤ÎÀÕǤ¤Ç¤¢¤ë¡£
´·¤ì¤Æ¤¤¤Ê¤¤¿Í¤ÎÌܤˤϡ¢Lisp¤ÏÉÔ²Ä»×µÄ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤¢¤ë¡£
Lisp¤Î¥³¡¼¥É¤Ë¤Ï¡¢¤¤¤¿¤ë¤È¤³¤í¤Ë³ç¸Ì¤¬¤¢¤ë¡£
¡ÖLots of Isolated Silly Parentheses¡Ê´ñ̯¤Ê³ç¸Ì¤¬Â¿¤¤¡Ë¡×¤Îά¤Ç¤¢¤ë¤È
ÈãȽ¤¹¤ë¿Íã¤â¤¤¤ë¡£
¤·¤«¤·¡¢¤³¤ÎÈãȽ¤ÏÉÔÅö¤Ç¤¢¤ë¡£
Lisp¤ÏLISt Processing¤Îά¤Ç¤¢¤ê¡¢³ç¸Ì¤Ç°Ï¤ó¤À¥ê¥¹¥È¡Êlist¡Ë
¡Ê¤ª¤è¤Ó¡¢¥ê¥¹¥È¤Î¥ê¥¹¥È¡Ë¤ò°·¤¦¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Ç¤¢¤ë¡£
³ç¸Ì¤Ï¥ê¥¹¥È¤Î¶³¦¤òɽ¤¹¡£
¥ê¥¹¥È¤ÎľÁ°¤Ë¥¢¥Ý¥¹¥È¥í¥Õ¥£¡¢¤Ä¤Þ¤ê¡¢°úÍÑÉä'¤òÉÕ¤±¤ë¾ì¹ç¤â¤¢¤ë¡£
¥ê¥¹¥È¤Ï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¤Îñ¸ì¤«¤é¤Ç¤¤Æ¤¤¤ë¡£
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¡Ë¤È¸Æ¤Ð¤ì¡¢ ¥³¥ó¥Ô¥å¡¼¥¿¤¬¿Í´Ö¸þ¤±¤Ë½ÐÎϤ¹¤ë¥á¥Ã¥»¡¼¥¸¤Ë»È¤¦¡£ ʸ»úÎó¤Ï¡¢¿ô¤ä¥·¥ó¥Ü¥ë¤È¤Ï°Û¤Ê¤ëÊ̤μïÎà¤Î¥¢¥È¥à¤Ç¤¢¤ê¡¢»È¤¤Êý¤â°Û¤Ê¤ë¡£
¥ê¥¹¥ÈÆâ¤Î¶õÇò¤Î¸Ä¿ô¤Ï¤¤¤¯¤Ä¤Ç¤â¤è¤¤¡£ Lisp¸À¸ì¤Î»ëÅÀ¤«¤é¤¹¤ì¤Ð¡¢
'(this list looks like this)
¤Ï¡¢¤Ä¤®¤È¤Þ¤Ã¤¿¤¯Æ±Åù¤Ç¤¢¤ë¡£
'(this list looks like this)
¤É¤Á¤é¤ÎÎã¤âLisp¤Ë¤È¤Ã¤Æ¤ÏƱ¤¸¥ê¥¹¥È¤Ç¤¢¤ê¡¢
this¡¢list¡¢looks¡¢like¡¢
this¤Î¥·¥ó¥Ü¥ë¤«¤é¤³¤Î½ç¤Ë¹½À®¤µ¤ì¤¿¥ê¥¹¥È¤Ç¤¢¤ë¡£
;ʬ¤Ê¶õÇò¤ä²þ¹Ô¤Ï¿Í´Ö¤¬¥ê¥¹¥È¤ò¸«¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¢¤ë¡£ Lisp¤¬¼°¤òÆÉ¤ß¼è¤ë¤È¤¡¢Í¾Ê¬¤Ê¶õÇò¤ò¤¹¤Ù¤Æ¼è¤ê½ü¤¯ ¡Ê¤¿¤À¤·¡¢¥¢¥È¥à¤È¥¢¥È¥à¤Î¤¢¤¤¤À¤Ë¤Ï¡¢ ¤³¤ì¤é¤ò¶èÀڤ뤿¤á¤Ë¾¯¤Ê¤¯¤È¤â1¤Ä¤Î¶õÇò¤¬É¬ÍפǤ¢¤ë¡Ë¡£
´ñ̯¤Ë»×¤¨¤ë¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢¤³¤ì¤Þ¤Ç¤ÎÎã¤Ç¡¢ Lisp¤Î¤¹¤Ù¤Æ¤Î¥ê¥¹¥È¤¬¤É¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ë¤«¤ò¸«¤Æ¤¤¿¡£ Lisp¤Î¥ê¥¹¥È¤Ï¿¤«¤ì¾¯¤Ê¤«¤ì¤³¤ì¤Þ¤Ç¤ÎÎã¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ê¡¢ ¤â¤Ã¤ÈŤ«¤Ã¤¿¤êÊ£»¨¤Ê¤À¤±¤Ç¤¢¤ë¡£ Í×Ì󤹤ì¤Ð¡¢¥ê¥¹¥È¤Ï³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿¤â¤Î¤Ç¤¢¤ê¡¢ ʸ»úÎó¤ÏÆó½Å°úÍÑÉä¤Ç°Ï¤Þ¤ì¤¿¤â¤Î¤Ç¤¢¤ê¡¢¥·¥ó¥Ü¥ë¤Ïñ¸ì¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ê¡¢ ¿ô¤Ï¿ô»úÎó¤Ç¤¢¤ë ¡Ê³Ã³ç¸Ì¤ä¥É¥Ã¥È¤äÆÃÊ̤ʿô¼ï¤Îʸ»ú¤ò»È¤¦¾ì¹ç¤â¤¢¤ë¤¬¡¢ ¤·¤Ð¤é¤¯¤Ï¤³¤ì¤é¤ò»È¤ï¤Ê¤¤¡Ë¡£
GNU Emacs¤ÎLisp Interaction¥â¡¼¥É¤äEmacs Lisp¥â¡¼¥É¤ÇLisp¤Î¼°¤ò ÆþÎϤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢Lisp¤Î¼°¤òÆÉ¤ß¤ä¤¹¤¯À°·Á¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤òÍøÍѤǤ¤ë¡£ ¤¿¤È¤¨¤Ð¡¢<TAB>¥¡¼¤ò²¡¤¹¤È¡¢¥«¡¼¥½¥ë¤òÃÖ¤¤¤¿¹Ô¤ò¼«Æ°Åª¤Ë»ú²¼¤²¤¹¤ë¡£ ¤¢¤ë¥ê¡¼¥¸¥ç¥ó¤Î¥³¡¼¥É¤òÀµ¤·¤¯»ú²¼¤²¤¹¤ë¥³¥Þ¥ó¥É¤Ï¡¢ ´·½¬Åª¤ËM-C-\¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤ë¡£ ¥ê¥¹¥È¤Î³ÆÍ×ÁǤ¬¡¢¤É¤Î¥ê¥¹¥È¤Ë°¤¹¤ë¤«¤¬¤ï¤«¤ê¤ä¤¹¤¯¤Ê¤ë¤è¤¦¤Ë»ú²¼¤²¤¹¤ë¡£ ¤Ä¤Þ¤ê¡¢Æâ¦¤Î¥ê¥¹¥È¤Î³ÆÍ×ÁǤϡ¢ ¤½¤Î¥ê¥¹¥È¤ò°Ï¤à¥ê¥¹¥È¤ÎÍ×ÁǤè¤ê¤â»ú²¼¤²¤µ¤ì¤ë¡£
¤µ¤é¤Ë¡¢ÊĤ¸³ç¸Ì¤ò¥¿¥¤¥×¤¹¤ë¤ÈEmacs¤ÏÂбþ¤¹¤ë³«¤³ç¸Ì¤Ë°ì»þŪ¤Ë ¥«¡¼¥½¥ë¤ò°Üư¤·¤Æ¡¢Âбþ´Ø·¸¤¬¤ï¤«¤ë¤è¤¦¤Ë¤¹¤ë¡£ Lisp¤ËÍ¿¤¨¤ë¸Ä¡¹¤Î¥ê¥¹¥È¤Ï³ç¸Ì¤ÎÂбþ¤¬¼è¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¤Î¤Ç¡¢ ¤³¤ì¤Ï¤È¤Æ¤âÊØÍø¤Ç¤¢¤ë ¡ÊEmacs¤Î¥â¡¼¥É¤Ë´Ø¤·¤Æ¾Ü¤·¤¯¤Ï¡¢ See Major Modes¡Ë¡£
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¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬¤É¤¦¤¹¤ë¤«¤òÀâÌÀ¤·¤è¤¦¡£
¶öÁ³°ú¤µ¯¤³¤·¤¿¾ì¹ç¤Ïµ¤¤Ë¤·¤Ê¤¤¤Ç¤è¤¤¤¬¡¢¤³¤³¤Ç¤Ï ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤¹¤ë¤è¤¦¤Ê¥³¥Þ¥ó¥É¤ò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¤ò²Ã»»¤Ç¤¤ë¤Î¤Ç¡¢
¥·¥ó¥Ü¥ë+¤Ë¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤¬¼Â¹Ô¤¹¤Ù¤Ì¿ÎáÎó¤¬Í¿¤¨¤é¤ì¤Æ¤ª¤ê¡¢
¤·¤«¤â¡¢¤½¤ì¤é¤Ï+¤Ë³¤¯¿ô¤ò²Ã»»¤¹¤ëÌ¿Îá¤Ç¤¢¤ë¤È¿äÍý¤Ç¤¤ë¡£
¤³¤ì¤Þ¤Ç¤ËÀâÌÀ¤·¤Æ¤¤¿¤³¤È¤ò¤â¤È¤Ë¡¢Lisp¤ÎÊÌ¤ÎÆÃħ¤òÌÀ³Î¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
+¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤Ï¡¢¤½¤ì¼«¿È¤Ï¥³¥ó¥Ô¥å¡¼¥¿¤¬¼Â¹Ô¤¹¤Ù¤Ì¿ÎáÎó
¤Ç¤Ï¤Ê¤¤¤È¤¤¤¦½ÅÍ×¤ÊÆÃħ¤Ç¤¢¤ë¡£
¤½¤Î¤«¤ï¤ê¤Ë¡¢ÄêµÁ¡¢¤¹¤Ê¤ï¤Á¡¢Ì¿ÎáÎó¤òõ¤¹¤¿¤á¤Ë
¥·¥ó¥Ü¥ë¤ò¡Ê°ì»þŪ¤Ë¡Ë»È¤¦¤Î¤Ç¤¢¤ë¡£
¤ï¤ì¤ï¤ì¤¬¸«¤Æ¤¤¤ë¤â¤Î¤Ï¡¢Ì¿ÎáÎó¤òõ¤¹¤¿¤á¤Î̾Á°¤Ç¤¢¤ë¡£
¿Í¤Î̾Á°¤âƱ¤¸¤è¤¦¤Ë»È¤ï¤ì¤ë¡£
É®¼Ô¤ÏBob¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¤¬¡¢»ä¤ÏB¡¢o¡¢b¤Î3ʸ»ú
¤Ç¤Ï¤Ê¤¯¡¢°Õ¼±¤Î¤¢¤ëÀ¸Ì¿ÂΤǤ¢¤ë¡£
̾Á°¤½¤Î¤â¤Î¤Ï»ä¤Ç¤Ï¤Ê¤¯¡¢»ä¤ò»Ø¤¹¤¿¤á¤Ë̾Á°¤ò»È¤¦¤Î¤Ç¤¢¤ë¡£
Lisp¤Ç¤Ï¡¢1¤Ä¤ÎÌ¿ÎáÎó¤ËÊ£¿ô¤Î̾Á°¤ò·ë¤ÓÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤ë¡£
¤¿¤È¤¨¤Ð¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Î²Ã»»Ì¿ÎáÎó¤ò¥·¥ó¥Ü¥ëplus¤Ë¤â+¤Ë¤â
·ë¤ÓÉÕ¤±¤é¤ì¤ë¡Ê¤½¤Î¤è¤¦¤ÊLisp¤ÎÊý¸À¤â¤¢¤ë¡Ë¡£
¿Í´Ö¤ÎÀ¤³¦¤Ç¤â¡¢É®¼Ô¤òBob¤È¸Æ¤ó¤À¤êRobert¤È¸Æ¤ó¤À¤ê¤Ç¤¡¢
¤½¤ì°Ê³°¤Îñ¸ì¤Ç¤â¤è¤¤¡£
¤½¤Î°ìÊý¤Ç¡¢¥·¥ó¥Ü¥ë¤Ë¤Ï1¤Ä¤Î´Ø¿ôÄêµÁ¤·¤«·ë¤ÓÉÕ¤±¤é¤ì¤Ê¤¤¡£
¤µ¤â¤Ê¤±¤ì¤Ð¡¢¤É¤Á¤é¤ÎÄêµÁ¤òºÎÍѤ¹¤Ù¤¤«¥³¥ó¥Ô¥å¡¼¥¿¤¬º®Í𤹤롣
¤³¤ì¤ò¿Í´Ö¤ÎÀ¤³¦¤ËÅö¤Æ¤Ï¤á¤ë¤È¡¢
Bob¤È¤¤¤¦Ì¾Á°¤ò»ý¤Ä¿Í¤ÏÀ¤³¦Ãæ¤Ç1¿Í¤Ë¸Â¤é¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£
¤·¤«¤·¡¢Ì¾Á°¤¬»²¾È¤¹¤ë´Ø¿ôÄêµÁ¤òÊѹ¹¤¹¤ë¤Î¤ÏÍÆ°×¤Ç¤¢¤ë
¡ÊSee Install¡Ë¡£
Emacs Lisp¤ÏµðÂç¤Ê¤Î¤Ç¡¢´Ø¿ô¤¬Â°¤¹¤ëEmacs¤Î¹½À®Éôʬ¤¬¤ï¤«¤ë¤è¤¦¤Ë
¥·¥ó¥Ü¥ë¤ò̿̾¤¹¤ë´·½¬¤¬¤¢¤ë¡£
¤·¤¿¤¬¤Ã¤Æ¡¢Texinfo¤ò°·¤¦¤¹¤Ù¤Æ¤Î´Ø¿ô¤Î̾Á°¤Ïtexinfo-¤Ç»Ï¤Þ¤ê¡¢
¥á¡¼¥ë¤òÆÉ¤à¤³¤È¤Ë´ØÏ¢¤¹¤ë´Ø¿ô¤Î̾Á°¤Ïrmail-¤Ç»Ï¤Þ¤ë¡£
¤³¤ì¤Þ¤Ç¤ÎÀâÌÀ¤ò¤â¤È¤Ë¡¢¥ê¥¹¥È¤Îɾ²Á¤òLisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ËÌ¿¤¸¤ë¤È Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬²¿¤ò¤¹¤ë¤«¤òÍý²ò¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£ ¤Þ¤º¡¢¥ê¥¹¥È¤ÎľÁ°¤Ë¥¯¥ª¡¼¥È¤¬¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£ ¥¯¥ª¡¼¥È¤¬¤¢¤ì¤Ð¡¢¥ê¥¹¥È¤òÊÖ¤¹¤À¤±¤Ç¤¢¤ë¡£ °ìÊý¡¢¥¯¥ª¡¼¥È¤¬¤Ê¤±¤ì¤Ð¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¥ê¥¹¥È¤ÎÀèÆ¬Í×ÁǤòÄ´¤Ù¡¢ ¤½¤ì¤Ë´Ø¿ôÄêµÁ¤¬¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£ ´Ø¿ôÄêµÁ¤¬¤¢¤ì¤Ð¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¤½¤Î´Ø¿ôÄêµÁÆâ¤ÎÌ¿ÎáÎó¤ò¼Â¹Ô¤¹¤ë¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ¹¤ë¡£
¤³¤ì¤¬Lisp¤Îưºî¤Ç¤¢¤ê¡¢Ã±½ã¤Ç¤¢¤ë¡£ ¤¹¤°¤ËÀâÌÀ¤¹¤ë¤¬¡¢¤³¤ì¤Ë²Ã¤¨¤ÆÊ£»¨¤Ê¤³¤È¤¬¤é¤â¤¢¤ë¤¬¡¢°Ê¾å¤¬´ðËܤǤ¢¤ë¡£ ÅöÁ³¡¢Lisp¥×¥í¥°¥é¥à¤ò½ñ¤¯¤Ë¤Ï¡¢´Ø¿ôÄêµÁ¤Î½ñ¤Êý¡¢Ì¾Á°¤Ø¤Î·ë¤ÓÉÕ¤±Êý¡¢ ¤ª¤è¤Ó¡¢¤³¤ì¤é¤òÆÉ¼Ô¤ä¥³¥ó¥Ô¥å¡¼¥¿¤Ëº®Íð¤Î¤Ê¤¤¤è¤¦¤Ë¹Ô¤¦ÊýË¡¤òÃΤëɬÍפ¬¤¢¤ë¡£
¤Ç¤Ï¡¢Ê£»¨¤Ê¤³¤È¤¬¤é¤ÎºÇ½é¤Î¤³¤È¤òÀâÌÀ¤·¤è¤¦¡£ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢¥ê¥¹¥È¤Ë²Ã¤¨¤Æ¡¢ ¥¯¥ª¡¼¥È¤â¤»¤º³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤â¤¤¤Ê¤¤¥·¥ó¥Ü¥ë¤òɾ²Á¤Ç¤¤ë¡£ ¤³¤Î¾ì¹ç¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢ ÊÑ¿ô¡Êvariable¡Ë¤È¤·¤Æ¤Î¥·¥ó¥Ü¥ë¤ÎÃͤò·èÄꤷ¤è¤¦¤È¤¹¤ë¡£ ¤³¤ì¤Ë¤Ä¤¤¤Æ¤ÏÊÑ¿ô¤Ë´Ø¤¹¤ëÀá¤ÇÀâÌÀ¤¹¤ë ¡ÊSee Variables¡Ë¡£
Ê£»¨¤Ê¤³¤È¤¬¤é¤Î2ÈÖÌܤϡ¢ÆÃ¼ì¤Ê´Ø¿ô¤¬¤¢¤ê¡¢ ¤³¤ì¤é¤ÏÉáÄ̤ÎÊý¼°¤Î¤è¤¦¤Ëưºî¤·¤Ê¤¤¤³¤È¤Ç¤¢¤ë¡£ ¤³¤ì¤é¤ò¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¡Êspecial forms¡Ë¤È¸Æ¤Ö¡£ ´Ø¿ô¤ÎÄêµÁ¤Ê¤É¤ÎÆÃ¼ì¤Ê¤³¤È¤ò¹Ô¤¦¤â¤Î¤Ç¤¢¤ê¡¢¤½¤ì¤é¤Î¸Ä¿ô¤Ï¿¤¯¤Ï¤Ê¤¤¡£ °Ê²¼¤Î¤¤¤¯¤Ä¤«¤Î¾Ï¤Ç¤Ï¡¢½ÅÍפʥ¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Î¤¤¤¯¤Ä¤«¤ò¾Ò²ð¤¹¤ë¡£
3ÈÖÌܤǺǸå¤ÎÊ£»¨¤Ê¤³¤È¤¬¤é¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬Ãµ¤·¤¢¤Æ¤¿´Ø¿ô¤¬¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¤Ç¤Ê¤¯¡¢ ¤·¤«¤â¡¢¤½¤ì¤¬¥ê¥¹¥È¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¥ê¥¹¥È¤ÎÆâ¦¤Ë¥ê¥¹¥È¤¬¤¢¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£ Æâ¦¤Ë¥ê¥¹¥È¤¬¤¢¤ì¤Ð¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ÏÆâ¦¤Î¥ê¥¹¥È¤ò½èÍý¤·¤Æ¤«¤é¡¢ ³°Â¦¤Î¥ê¥¹¥È¤ò½èÍý¤¹¤ë¡£ Æâ¦¤Î¥ê¥¹¥È¤ÎÆâ¦¤Ë¤â¥ê¥¹¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¤½¤ì¤ò½èÍý¤·¤Æ¤«¤éÆâ¦¤Î¥ê¥¹¥È¤ò½èÍý¤¹¤ë¡£ ¤Ä¤Í¤Ë¡¢¤â¤Ã¤È¤âÆâ¦¤Î¥ê¥¹¥È¤òºÇ½é¤Ë½èÍý¤¹¤ë¡£ ¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¤â¤Ã¤È¤âÆâ¦¤Î¥ê¥¹¥È¤Î·ë²Ì¤òÆÀ¤ë¤¿¤á¤Ë¤½¤ì¤ò½èÍý¤¹¤ë¡£ ¤½¤Î·ë²Ì¤Ï¤½¤ì¤ò´Þ¤à¼°¤Ç»È¤ï¤ì¤ë¡£
¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ïº¸¤«¤é±¦¤Ø¤Î½ç¤Ç¼°¤ò1¤Ä¤º¤Ä½èÍý¤¹¤ë¡£
¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ë¤ÏÊ̤ΦÌ̤⤢¤ë¡£ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï2¼ïÎà¤Î¤â¤Î¤ò²ò¼á¤Ç¤¤ë¡£ Ëܽñ¤Ç¼è¤ê¾å¤²¤Æ¤¤¤ë¿Í¤¬ÆÉ¤á¤ë·Á¼°¤Î¥³¡¼¥É¤È¡¢ ÆÃÊ̤ʽèÍý¤ò»Ü¤·¿Í¤Ë¤ÏÆÉ¤á¤Ê¤¤·Á¼°¤Î ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¡Êbyte compiled¡Ë¥³¡¼¥É¤Ç¤¢¤ë¡£ ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥³¡¼¥É¤Ï¡¢¿Í´Ö¸þ¤±¤Î¥³¡¼¥É¤ËÈæ¤Ù¤Æ¼Â¹Ô¤¬Â®¤¤¡£
byte-compile-file¤Î¤è¤¦¤Ê¥³¥ó¥Ñ¥¤¥ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ì¤Ð¡¢
¿Í´Ö¸þ¤±¤Î¥³¡¼¥É¤ò¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¥³¡¼¥É¤ËÊÑ´¹¤Ç¤¤ë¡£
¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¥³¡¼¥É¤Ï¡¢³ÈÄ¥»Ò.el¤Ç¤Ï¤Ê¤¯³ÈÄ¥»Ò.elc¤Ç
½ª¤ï¤ë¥Õ¥¡¥¤¥ë¤Ë¼ýÍÆ¤¹¤ë¤Î¤¬°ìÈÌŪ¤Ç¤¢¤ë¡£
¥Ç¥£¥ì¥¯¥È¥êemacs/lisp¤Ë¤ÏξÊý¤Î¼ïÎà¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤¬¡¢
ÆÉ¤à¤Î¤Ï³ÈÄ¥»Ò.el¤Î¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¡£
¼ÂÍѾå¤Ï¡¢Emacs¤òÄ´À°¤·¤¿¤ê³ÈÄ¥¤·¤¿¤ê¤¹¤ë¤Î¤¬¤Û¤È¤ó¤É¤Ç¤¢¤í¤¦¤«¤é¡¢ ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¤¹¤ëɬÍפϤʤ¯¡¢¤³¤³¤Ç¤Ï¤³¤ì°Ê¾å¼è¤ê¾å¤²¤Ê¤¤¡£ ¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯¤ÏSee Byte Compilation¡£
Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬¼°¤ò½èÍý¤¹¤ë¤³¤È¤òɾ²Á¤¹¤ë¡Êevaluation¡Ë¤È¸Æ¤Ö¡£ ¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬¡Ö¼°¤òɾ²Á¤¹¤ë¡×¤È¤¤¤¦¡£ ¤³¤ì¤Þ¤Ç¤Ë¤â¡¢¤³¤ÎÍѸì¤ò²¿ÅÙ¤«»È¤Ã¤Æ¤¤¿¡£ ¤³¤ÎÍѸì¤ÏÆü¾ï¤Î¸ÀÍջȤ¤¤«¤é¤¤Æ¤¤¤ë¡£ ¤Ä¤Þ¤ê¡¢Webster's New Collegiate Dictionary¤Ë¤è¤ì¤Ð¡¢ ¡Ö²ÁÃͤäÎ̤ò¸«Äê¤á¤ë¡¢¸«ÀѤâ¤ë¤³¤È¡×¤Ç¤¢¤ë¡£
¼°¤òɾ²Á¤·½ª¤¨¤ë¤È¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢´Ø¿ôÄêµÁ¤ÇÍ¿¤¨¤é¤ì¤¿Ì¿ÎáÎó¤ò ¥³¥ó¥Ô¥å¡¼¥¿¤¬¼Â¹Ô¤·¤¿·ë²Ì¤òÊÖ¤¹¡Êreturn¡Ë¤Î¤¬°ìÈÌŪ¤Ç¤¢¤ë¤¬¡¢ ´Ø¿ô¤Î½èÍý¤òÄü¤á¤Æ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤¹¤ë¾ì¹ç¤â¤¢¤ë ¡Ê¥¤¥ó¥¿¡¼¥×¥ê¥¿¼«ÂΤòÊ̤δؿô¤ËÅϤ·¤¿¤ê¡¢ ¡Ö̵¸Â¥ë¡¼¥×¡×¤È¸Æ¤Ð¤ì¤ë̵À©¸Â¤ËƱ¤¸¤³¤È¤ò·«¤êÊÖ¤¹¤³¤È¤â¤¢¤ë¡£ ¤³¤ì¤é¤Îưºî¤Ï°ìÈÌŪ¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢¤³¤³¤Ç¤Ï̵»ë¤¹¤ë¤³¤È¤Ë¤¹¤ë¡Ë¡£ ¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ÏÃͤòÊÖ¤¹¡£
¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢ÃͤòÊÖ¤¹¤ÈƱ»þ¤Ë¡¢ ¥«¡¼¥½¥ë¤ò°Üư¤·¤¿¤ê¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤¿¤ê¤Ê¤É¤ÎÊÌ¤ÎÆ°ºî¤â¹Ô¤¦¡£ ¤³¤Î¼ï¤ÎÊÌ¤ÎÆ°ºî¤Ï¡¢ÉûºîÍÑ¡Êside effect¡Ë¤È¸Æ¤Ð¤ì¤ë¡£ ·ë²Ì¤Îɽ¼¨¤Ê¤É¤Î¿Í´Ö¤¬½ÅÍפȹͤ¨¤ëưºî¤Ï¡¢ Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ë¤è¤Ã¤Æ¤Ï¡ÖÉûºîÍѡפǤ¢¤ë¤³¤È¤¬Â¿¤¤¡£ ¤³¤ÎÍѸì¤Ï´ñ̯¤Ëʹ¤³¤¨¤ë¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢ ÉûºîÍѤλȤ¤Êý¤ò³Ø¤Ö¤Î¤Ï¤«¤Ê¤ê´Êñ¤Ç¤¢¤ë¡£
¤Þ¤È¤á¤ë¤È¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢ ¥·¥ó¥Ü¥ê¥Ã¥¯¼°¤òɾ²Á¤¹¤ë¤È¤Û¤È¤ó¤É¤Î¾ì¹ç¤ÏÃͤòÊÖ¤¹¤¬¡¢ÉûºîÍѤòȼ¤¦¤³¤È¤â¤¢¤ë¡£ ¤¢¤ë¤¤¤Ï¡¢¥¨¥é¡¼¤òÀ¸À®¤¹¤ë¡£
Æâ¦¤Ë¥ê¥¹¥È¤ò´Þ¤ó¤À¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¤¤Ë¤Ï¡¢ Æâ¦¤Î¥ê¥¹¥È¤òɾ²Á¤·¤ÆÆÀ¤é¤ì¤¿Ãͤò¡¢ ³°Â¦¤Î¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¤¤Î¾ðÊó¤È¤·¤Æ»È¤¦¾ì¹ç¤¬¤¢¤ë¡£ ¤½¤Î¤¿¤á¤Ë¡¢Æâ¦¤Î¼°¤òºÇ½é¤Ëɾ²Á¤¹¤ë¤Î¤Ç¤¢¤ë¡£ ¤½¤ì¤¬ÊÖ¤·¤¿Ãͤò³°Â¦¤Î¼°¤Ç»ÈÍѤ¹¤ë¡£
¤³¤Î¤è¤¦¤Êɾ²Á¤Î²áÄø¤ò¡¢²Ã»»¤ÎÎãÂê¤ÇÄ´¤Ù¤ë¤³¤È¤Ë¤·¤è¤¦¡£ ¤Ä¤®¤Î¼°¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤Æ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¤Ç¤Ï¡¢¿ô¤òɾ²Á¤¹¤ë¤È¤½¤Î¿ô¤½¤Î¤â¤Î¤òÆÀ¤ë¤Î¤Ç¤¢¤ë¡£
¤³¤ì¤¬¿ô¤È¥·¥ó¥Ü¥ë¤Î°ã¤¤¤Ç¤¢¤ë¡£
+¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤Ç»Ï¤Þ¤ë¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¡¢
+¤Ë·ë¤ÓÉÕ¤±¤¿´Ø¿ôÄêµÁ¤ÎÌ¿ÎáÎó¤ò¼Â¹Ô¤·¤¿·ë²Ì¤ÎÃͤòÆÀ¤ë¡£
¤Ä¤®¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¤è¤¦¤Ë¡¢¥·¥ó¥Ü¥ë¤½¤Î¤â¤Î¤òɾ²Á¤¹¤ë¤ÈÊ̤Τ³¤È¤¬µ¯¤³¤ë¡£
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
Ãͤ¬Â«Çû¤µ¤ì¤Æ¤¤¤Ê¤¤¥·¥ó¥Ü¥ë¤òɾ²Á¤¹¤ë¤È¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÆÀ¤ë¡£
¤¿¤È¤¨¤Ð¡¢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¡Ë¤Ç¤¢¤ë»Ý¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬
Êó¹ð¤µ¤ì¤¿¤Î¤Ç¤¢¤ë¡£
¤É¤Î¤è¤¦¤Ë´Ø¿ô¤Ë¾ðÊó¤¬ÅÁ¤¨¤é¤ì¤ë¤«¤ò¸«¤ë¤¿¤á¤Ë¡¢ ¤ªÆëÀ÷¤ß¤Î2¤¹2¤ÎÎã¤ò»È¤Ã¤Æ¤ß¤è¤¦¡£ Lisp¤Ç¤Ï¡¢¤Ä¤®¤Î¤è¤¦¤Ë½ñ¤¯¡£
(+ 2 2)
¤³¤Î¼°¤òɾ²Á¤¹¤ë¤È¡¢¥¨¥³¡¼Îΰè¤Ë¤Ï¿ô4¤¬É½¼¨¤µ¤ì¤ë¡£
Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬¹Ô¤Ã¤¿¤³¤È¤Ï¡¢+¤Î¤¢¤È¤Ë³¤¯¿ô¤Î²Ã»»¤Ç¤¢¤ë¡£
+¤¬²Ã»»¤·¤¿¿ô¤Î¤³¤È¤ò¡¢´Ø¿ô+¤Î°ú¿ô¡Êarguments¡Ë¤È¸Æ¤Ö¡£
¤³¤ì¤é¤Î¿ô¤Ï¡¢´Ø¿ô¤ËÍ¿¤¨¤é¤ì¤¿¡¢¤Ä¤Þ¤ê¡¢ÅϤµ¤ì¤¿¾ðÊó¤Ç¤¢¤ë¡£
¡Öargument¡Ê°ú¿ô¡Ë¡×¤È¤¤¤¦ÍѸì¤Ï¿ô³Ø¤Ç¤ÎÍÑË¡¤«¤é¤¤Æ¤ª¤ê¡¢
2¿Í¤Î¤¢¤¤¤À¤ÎµÄÏÀ¤Î¤³¤È¤Ç¤Ï¤Ê¤¤¡£
¤³¤³¤Ç¤Ï¡¢+¤È¤¤¤¦´Ø¿ô¤ØÍ¿¤¨¤é¤ì¤¿¾ðÊó¤ò°ÕÌ£¤¹¤ë¡£
Lisp¤Ç¤Ï¡¢´Ø¿ô¤ËÂФ¹¤ë°ú¿ô¤Ï¡¢¤½¤Î´Ø¿ô¤Î¤¢¤È¤Ë³¤¯¥¢¥È¥à¤ä¥ê¥¹¥È¤Ç¤¢¤ë¡£
¤³¤ì¤é¤Î¥¢¥È¥à¤ä¥ê¥¹¥È¤òɾ²Á¤·¤ÆÊÖ¤µ¤ì¤¿Ãͤ¬´Ø¿ô¤ØÅϤµ¤ì¤ë¡£
´Ø¿ô¤¬°Û¤Ê¤ì¤Ð¡¢É¬Íפʰú¿ô¤Î¸Ä¿ô¤â°Û¤Ê¤ê¡¢
°ú¿ô¤ò¤Þ¤Ã¤¿¤¯É¬ÍפȤ·¤Ê¤¤´Ø¿ô¤â¤¢¤ë¡£
2
´Ø¿ô¤ËÅϤ¹¥Ç¡¼¥¿¤Î·¿¤Ï¡¢´Ø¿ô¤¬»ÈÍѤ¹¤ë¾ðÊó¤Î¼ïÎà¤Ë±þ¤¸¤Æ·è¤Þ¤ë¡£
+¤Ï¿ô¤ò²Ã»»¤¹¤ë¤Î¤Ç¡¢
+¤Î¤è¤¦¤Ê´Ø¿ô¤Ø¤Î°ú¿ô¤Ï¿ôÃͤǤ¢¤ëɬÍפ¬¤¢¤ë¡£
Ê̤δؿô¤Ç¤ÏÊ̤μïÎà¤Î¥Ç¡¼¥¿¤Î°ú¿ô¤¬É¬ÍפǤ¢¤ë¡£
¤¿¤È¤¨¤Ð¡¢´Ø¿ô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¤Ï¡¢Ê¸»úÎó¤Ç¤¢¤ë°ú¿ô¤«¤éÉôʬʸ»úÎó¤òÀÚ¤ê½Ð¤¹¤³¤È¤¬
¤Ç¤¤ë¤À¤±¤Ç¤¢¤ê¡¢¿ô¤ä¥·¥ó¥Ü¥ë¤Ê¤É¤Î¤½¤ì°Ê³°¤Î¼ïÎà¤Î¥¢¥È¥à¤Ï°·¤¨¤Ê¤¤¡£
°ú¿ô¤Ï¡¢É¾²Á¤·¤¿¤È¤¤ËÃͤòÊÖ¤¹¥·¥ó¥Ü¥ë¤Ç¤â¤è¤¤¡£
¤¿¤È¤¨¤Ð¡¢¥·¥ó¥Ü¥ë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¤ÎľÁ°¤Ë¤Ï¶õÇò¤¬É¬ÍפǤ¢¤ë¡Ë¡£
concat¡¢+¡¢*¤Ê¤É¤Î¤¢¤ë¼ï¤Î´Ø¿ô¤Ï¡¢Ç¤°Õ¸Ä¿ô¤Î°ú¿ô¤ò¼è¤ë
¡Ê*¤Ï¾è»»¤Î¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡Ë¡£
¤³¤ì¤Ï¡¢°Ê²¼¤Î¼°¤Î¤ª¤Î¤ª¤Î¤òÄ̾ï¤ÎÊýË¡¤Çɾ²Á¤¹¤ë¤È¤ï¤«¤ë¡£
=>¤Î¤¢¤È¤Î¥Æ¥¥¹¥È¤¬¥¨¥³¡¼Îΰè¤Ëɽ¼¨¤µ¤ì¡¢
=>¤Ï¡Ö¤Îɾ²Á·ë²Ì¤Ï¡×¤ÈÆÉ¤á¤Ð¤è¤¤¡£
¤Þ¤º¡¢´Ø¿ô¤Ë°ú¿ô¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£
(+) => 0 (*) => 1
¤Ä¤®¤Ï¡¢´Ø¿ô¤Ë°ú¿ô¤¬1¤Ä¤Î¾ì¹ç¤Ç¤¢¤ë¡£
(+ 3) => 3 (* 3) => 3
º£Å٤ϡ¢´Ø¿ô¤Ë°ú¿ô¤¬3¤Ä¤¢¤ë¾ì¹ç¤Ç¤¢¤ë¡£
(+ 3 4 5) => 12 (* 3 4 5) => 60
¸í¤Ã¤¿·¿¤Î°ú¿ô¤ò´Ø¿ô¤ØÅϤ¹¤È¡¢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¤Î¤è¤¦¤Ê¿ô¤Ç¤¢¤ë¤Ï¤º¤Ç¤¢¤ë¡£
¤½¤¦¤Ç¤¢¤Ã¤¿¤Ê¤é¤Ð¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤«¤Ã¤¿¤Î¤Ç¤¢¤ë¡£
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."¤Èɽ¼¨¤µ¤ì¤ë¡£
ÊÑ¿ô¤ËÃͤòÍ¿¤¨¤ëÊýË¡¤Ï¤¤¤¯¤Ä¤«¤¢¤ë¡£
1¤Ä¤ÎÊýË¡¤Ï´Ø¿ôset¤«´Ø¿ôsetq¤ò»È¤¦¤³¤È¤Ç¤¢¤ë¡£
Ê̤ÎÊýË¡¤Ïlet¡Êsee let¡Ë¤ò»È¤¦¤³¤È¤Ç¤¢¤ë
¡Ê¤³¤Î²áÄø¤òÀìÌçÍѸì¤Ç¤ÏÊÑ¿ô¤òÃͤË«Çû¡Êbind¡Ë¤¹¤ë¤È¤¤¤¦¡Ë¡£
¤Ä¤®¤ÎÀá¤Ç¤Ïset¤Èsetq¤Îưºî¤òÀâÌÀ¤¹¤ë¤È¤È¤â¤Ë¡¢
°ú¿ô¤¬¤É¤Î¤è¤¦¤ËÅϤµ¤ì¤ë¤«¤âÀâÌÀ¤¹¤ë¡£
setq to count.
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¤Ï¤½¤ÎÊÖ¤µ¤ì¤¿ÃͤËÃͤòÀßÄꤷ¤è¤¦¤È¤¹¤ë¡£
¤³¤Î¤è¤¦¤Ë´Ø¿ô¤òưºî¤µ¤»¤¿¤¤¾ìÌ̤⤢¤ë¤¬¡¢¤½¤Î¤è¤¦¤Ê¾ìÌ̤Ͼ¯¤Ê¤¤¡Ë¡£
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¡×¤¬¤¢¤ë
¥·¥ó¥Ü¥ë¤ò¸«¤ë¤³¤È¤Ë¤Ê¤ë¡£
¤³¤Î̾¾Î¤Ï¡¢¥·¥ó¥Ü¥ë¤Ë¤ÏÆÃ¤Ë¥ê¥¹¥È¤Ê¤É¤ÎÃͤ¬·ë¤ÓÉÕ¤±¤é¤Æ¤¤¤ë¡¢
¤¢¤ë¤¤¤Ï¡¢¥·¥ó¥Ü¥ë¤¬¥ê¥¹¥È¤ò¡Ö»Ø¤¹¡×¤è¤¦¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¤³¤È¤ËͳÍ褹¤ë¡£
¤³¤³¤Ç¤Ï¥«¥¦¥ó¥¿¤Ç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¤ÎÃͤ¬Êѹ¹¤µ¤ì¤ë¤Î¤Ç¤¢¤ë¡£
Lisp¤ò³Ø¤Ö¤³¤È¤Ï¡¢ÅФê»Ï¤á¤¬¤â¤Ã¤È¤â¸±¤·¤¤¾®»³¤òÅФë¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ë¡£ ÆÉ¼Ô¤Ï¤â¤Ã¤È¤âº¤Æñ¤ÊÉôʬ¤òÅФ꽪¤¨¤¿¤Î¤Ç¤¢¤ê¡¢ ¤¢¤È¤Ï¡¢Àè¤Ø¿Ê¤à¤Û¤É³Ú¤Ë¤Ê¤ë¡£
ËܾϤò¤Þ¤È¤á¤ë¤È¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ë¡£
forward-paragraph¤Î¤è¤¦¤ÊÊ£¿ô¸Ä¤Îʸ»ú¤Î¥·¥ó¥Ü¥ë¡¢
+¤Î¤è¤¦¤Ê1ʸ»ú¤Î¥·¥ó¥Ü¥ë¡¢Æó½Å°úÍÑÉä¤Ç°Ï¤Ã¤¿Ê¸»úÎ󡢤¢¤ë¤¤¤Ï¡¢¿ô¤Ç¤¢¤ë¡£
'¤Ï¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤ËÂФ·¤ÆÂ³¤¯¼°¤ò»úÌ̤ΤȤª¤ê¤Ë
ÊÖ¤¹¤³¤È¤ò»Ø¼¨¤·¡¢°úÍÑÉ䤬¤Ê¤¤¾ì¹ç¤Î¤è¤¦¤Ë¤Ïɾ²Á¤·¤Ê¤¤¡£
´Êñ¤Ê±é½¬ÌäÂê¤ò¤¢¤²¤Æ¤ª¤¯¡£
Emacs Lisp¤Ë¤ª¤±¤ë´Ø¿ôÄêµÁ¤Î½ñ¤Êý¤ò³Ø¤Ö¤Þ¤¨¤Ë¡¢¤³¤ì¤Þ¤Ç¤ËÀâÌÀ¤·¤Æ¤¤¿ ¤µ¤Þ¤¶¤Þ¤Ê¼°¤Îɾ²Á¤Ë»þ´Ö¤ò³ä¤¤¤Æ¤ß¤ë¤Î¤âͱפǤ¢¤í¤¦¡£ ¥ê¥¹¥È¤ÎÀèÆ¬¡Ê¤¢¤ë¤¤¤ÏÍ£°ì¡Ë¤ÎÍ×ÁǤ¬´Ø¿ô¤Ç¤¢¤ë¤è¤¦¤Ê¥ê¥¹¥È¤Ç¤¢¤ë¡£ ¥Ð¥Ã¥Õ¥¡¤Ë´Ø¤¹¤ë´Ø¿ô¤Ï¡¢Ã±½ã¤Ç¤·¤«¤â¶½Ì£¿¼¤¤¤Î¤Ç¡¢¤³¤ì¤é¤«¤é»Ï¤á¤è¤¦¡£ ËÜÀá¤Ç¤Ï¡¢¤½¤ì¤é¤Î¤¤¤¯¤Ä¤«¤òɾ²Á¤·¤Æ¤ß¤ë¡£ ¾¤ÎÀá¤Ç¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤Ë´ØÏ¢¤·¤¿¿ô¸Ä¤ÎÊ̤δؿô¤Î¥³¡¼¥É¤òÄ´¤Ù¤Æ¡¢ ¤½¤ì¤é¤¬¤É¤Î¤è¤¦¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤«¤ò¸«¤Æ¤ß¤ë¡£
Emacs Lisp¤Ë¡¢¥«¡¼¥½¥ë¤Î°Üư¤ä²èÌ̾å¤Î¥¹¥¯¥í¡¼¥ë¤Ê¤É¤Î ÊÔ½¸¥³¥Þ¥ó¥É¤òÍ¿¤¨¤ë¤¿¤Ó¤Ë¡¢ÀèÆ¬Í×ÁǤ¬´Ø¿ô¤Ç¤¢¤ë¼°¤òɾ²Á¤·¤Æ¤¤¤ë¡£ Emacs¤Ï¤³¤Î¤è¤¦¤Ë¤·¤ÆÆ°¤¤¤Æ¤¤¤ë¡£
¥¡¼¤ò¥¿¥¤¥×¤¹¤ë¤È¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ë¼°¤òɾ²Á¤µ¤»¤ë¤³¤È¤Ë¤Ê¤ê¡¢
¤½¤Î¤è¤¦¤Ë¤·¤ÆÁàºî¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ë¡£
¥Æ¥¥¹¥È¤ò¥¿¥¤¥×¤·¤¿¾ì¹ç¤Ç¤µ¤¨¤â¡¢Emacs Lisp¤Î´Ø¿ô¤òɾ²Á¤·¤Æ¤ª¤ê¡¢
¥¿¥¤¥×¤·¤¿Ê¸»ú¤òñ¤ËÁÞÆþ¤¹¤ë´Ø¿ôself-insert-command¤ò»È¤Ã¤¿
´Ø¿ô¤òɾ²Á¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ë¡£
¥¡¼¤ò¥¿¥¤¥×¤¹¤ë¤³¤È¤Çɾ²Á¤µ¤ì¤ë´Ø¿ô¤Ï¡¢
ÂÐÏÃŪ¡Êinteractive¡Ë´Ø¿ô¤È¤«¥³¥Þ¥ó¥É¡Êcommands¡Ë¤È¸Æ¤Ð¤ì¤ë¡£
´Ø¿ô¤òÂÐÏÃŪ¤Ë¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢´Ø¿ôÄêµÁ¤Î½ñ¤Êý¤Î¾Ï¤ÇÎã¤ò¼¨¤¹¡£
See Interactive¡£
¥¡¼¥Ü¡¼¥É¥³¥Þ¥ó¥É¤ò¥¿¥¤¥×¤¹¤ë°Ê³°¤Ë¤â¡¢ ¼°¤òɾ²Á¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¤¹¤Ç¤ËÀâÌÀ¤·¤¿¡£ ¤¹¤Ê¤ï¤Á¡¢¥ê¥¹¥È¤Îľ¸å¤Ë¥«¡¼¥½¥ë¤òÃÖ¤¤¤ÆC-x C-e¤È¥¿¥¤¥×¤¹¤ë¤Î¤Ç¤¢¤ë¡£ ËÜÀá¤Î»Ä¤ê¤Ç¤Ï¡¢¤³¤ÎÊýË¡¤òÍѤ¤¤ë¡£ ¤³¤ì°Ê³°¤Ë¤â¼°¤òɾ²Á¤¹¤ëÊýË¡¤¬¤¢¤ê¡¢É¬Íפ˱þ¤¸¤ÆÂ¾¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¡£
¤³¤ì¤«¤é¤Î¿ôÀá¤ÇÀâÌÀ¤¹¤ë´Ø¿ô¤Ï¡¢É¾²Á¤òÎý½¬¤¹¤ë¤³¤È°Ê³°¤Ë¤â¡¢ ¤½¤ì¼«ÂΡ¢½ÅÍפʤâ¤Î¤Ç¤¢¤ë¡£ ¤³¤ì¤é¤Î´Ø¿ô¤ò³Ø¤Ö¤³¤È¤Ç¡¢¥Ð¥Ã¥Õ¥¡¤È¥Õ¥¡¥¤¥ë¤Î°ã¤¤¡¢ ¥Ð¥Ã¥Õ¥¡¤òÀÚ¤êÂØ¤¨¤ëÊýË¡¡¢¥Ð¥Ã¥Õ¥¡Æâ¤Ç¤Î°ÌÃÖ¤òÄ´¤Ù¤ëÊýË¡¤¬ÌÀ¤é¤«¤Ë¤Ê¤ë¡£
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¤Ç¤Ï¤³¤ÎÊýË¡¤ò»È¤¨¤Ê¤¤¡£ ¤·¤«¤·¡¢ÊÔ½¸²Äǽ¤Ê¥Ð¥Ã¥Õ¥¡¤Ê¤é¤Ð¡¢¤³¤ÎÊýË¡¤ò»È¤¨¤ë¡£ ¥³¡¼¥É¤ä¡ÊËܽñ¤Î¤è¤¦¤Ê¡Ëʸ½ñ¤ò½ñ¤¯¤È¤¤Ë¤Ï¡¢¤³¤Îµ¡Ç½¤Ï¤È¤Æ¤âÊØÍø¤Ç¤¢¤ë¡£
´Ø¿ô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*>¡¢¤¢¤ë¤¤¤Ï¡¢
º£¤Î¥Ð¥Ã¥Õ¥¡¤ËÀÚ¤êÂØ¤¨¤ë¤Þ¤¨¤Î¥Ð¥Ã¥Õ¥¡¤Îɽ¼¨·Á¼°¤¬É½¼¨¤µ¤ì¤ë¡£
´Ø¿ô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¡Ë¤â»È¤Ã¤¿¡£ ¥ê¥¹¥È¤ÎÀèÆ¬¤Î¥·¥ó¥Ü¥ë¤¬´Ø¿ô¤Ç¤¢¤ë¤è¤¦¤Ê¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¡¢ ¤½¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤Î¤Ç¤¢¤ë¡£ ¤³¤ÎÍѸì¤Ï¡¢±ô´É¹©¤ò¡Ö¸Æ¤Ö¡×¤È¥Ñ¥¤¥×¤Î±Ì¤ì¤ò½¤Íý¤·¤Æ¤¯¤ì¤ë¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢ ´Ø¿ô¤Ï¡¢¡Ö¸Æ¤Ó½Ð¤¹¡×¤È²¿¤«¤ò¹Ô¤Ã¤Æ¤¯¤ì¤ë¼ÂÂΤǤ¢¤ë¤È¤¤¤¦¹Í¤¨Êý¤«¤é¤¤Æ¤¤¤ë¡£
ºÇ¸å¤Ë¡¢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¤Ï¡¢
¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¼è¤ë¤³¤È¤¬²Äǽ¤Ê¥Ý¥¤¥ó¥È¤ÎºÇÂçÃͤòÊÖ¤¹¡£
ŬÅö¤Ê¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¡¢¤½¤ÎÃæ¤Û¤É¤Ë°Üư¤¹¤ë¡£ ¥Ð¥Ã¥Õ¥¡Ì¾¡¢¥Õ¥¡¥¤¥ë̾¡¢Ä¹¤µ¡¢¥Õ¥¡¥¤¥ëÆâ¤Ç¤Î°ÌÃ֤Τ½¤ì¤¾¤ì¤òÄ´¤Ù¤Æ¤ß¤è¡£
¥ê¥¹¥È¤òɾ²Á¤¹¤ë¤È¤¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ï¡¢ ¥ê¥¹¥È¤ÎÀèÆ¬¤Î¥·¥ó¥Ü¥ë¤Ë´Ø¿ôÄêµÁ¤¬·ë¤ÓÉÕ¤±¤é¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£ ¤¤¤¤¤«¤¨¤ì¤Ð¡¢¥·¥ó¥Ü¥ë¤¬´Ø¿ôÄêµÁ¤ò»Ø¤¹¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£ ¤½¤¦¤Ê¤é¤Ð¡¢¥³¥ó¥Ô¥å¡¼¥¿¤ÏÄêµÁÆâ¤ÎÌ¿ÎáÎó¤ò¼Â¹Ô¤¹¤ë¡£ ´Ø¿ôÄêµÁ¤ò»ý¤Ä¥·¥ó¥Ü¥ë¤ò¡¢Ã±¤Ë´Ø¿ô¤È¸Æ¤Ö ¡Ê¤·¤«¤·¡¢Àµ³Î¤Ë¤Ï¡¢ÄêµÁ¤¬´Ø¿ô¤Ç¤¢¤ê¡¢¥·¥ó¥Ü¥ë¤Ï¤½¤ì¤ò»Ø¤¹¤À¤±¤Ç¤¢¤ë¡Ë¡£
defun special form.
interactive.
¤¹¤Ù¤Æ¤Î´Ø¿ô¤ÏÊ̤δؿô¤òÍѤ¤¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢ ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ìC¤Ç½ñ¤«¤ì¤¿¾¯¿ô¤Î ´ðËÜÁàºî¡Êprimitive¡Ë´Ø¿ô¤Ï¤½¤¦¤Ç¤Ï¤Ê¤¤¡£ ´Ø¿ô¤ÎÄêµÁ¤ò½ñ¤¯¤È¤¤Ë¤Ï¡¢Â¾¤Î´Ø¿ô¤ò¹½À®ÉôÉʤȤ·¤ÆÍѤ¤¤ÆEmacs Lisp¤Ç½ñ¤¯¡£ ¤½¤Î¤È¤»ÈÍѤ¹¤ë´Ø¿ô¤Ï¡¢ ¤½¤ì¼«¿ÈEmacs Lisp¤Ç¡ÊÆÉ¼Ô¼«¿È¤¬¡Ë½ñ¤¤¤¿¤â¤Î¤Ç¤¢¤Ã¤¿¤ê¡¢ C¤Ç½ñ¤«¤ì¤¿´ðËÜÁàºî´Ø¿ô¤Ç¤¢¤ë¡£ ´ðËÜÁàºî´Ø¿ô¤Ï¡¢Emacs Lisp¤Ç½ñ¤¤¤¿¤â¤Î¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¤è¤¦¤Ë»È¤¨¡¢ ¤½¤Î¤è¤¦¤Ëưºî¤¹¤ë¡£ ¤³¤ì¤é¤òC¤Ç½ñ¤¤¤Æ¤¢¤ë¤Î¤Ï¡¢C¤¬Æ°¤¯½½Ê¬¤ÊǽÎϤò»ý¤Ã¤¿¥³¥ó¥Ô¥å¡¼¥¿¤Ê¤é¤Ð ÍÆ°×¤ËGNU Emacs¤òưºî¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¢¤ë¡£
¶¯Ä´¤·¤Æ¤ª¤¯¤¬¡¢Emacs Lisp¤Ç¥³¡¼¥É¤ò½ñ¤¯¤È¤¡¢ C¤Ç½ñ¤¤¤¿´Ø¿ô¤Î»È¤¤Êý¤ÈEmacs Lisp¤Ç½ñ¤¤¤¿´Ø¿ô¤Î»È¤¤Êý¤È¤Ï¶èÊ̤·¤Ê¤¤¡£ ξ¼Ô¤Î°ã¤¤¤Ï̵´Ø·¸¤Ê¤Î¤Ç¤¢¤ë¡£ ¤ï¤¶¤ï¤¶¸ÀµÚ¤·¤¿¤Î¤Ï¡¢¶½Ì£¿¼¤¤¤È¹Í¤¨¤¿¤«¤é¤Ç¤¢¤ë¡£ ´û¸¤Î´Ø¿ô¤¬Emacs Lisp¤Ç½ñ¤¤¤Æ¤¢¤ë¤Î¤«¡¢C¤Ç½ñ¤¤¤Æ¤¢¤ë¤Î¤«¤Ï¡¢ ÆÃ¤ËÄ´¤Ù¤Ê¤¤¸Â¤ê¤ï¤«¤é¤Ê¤¤¡£
defunLisp¤Ç¤Ï¡¢mark-whole-buffer¤Î¤è¤¦¤Ê¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢
´Ø¿ô¤È¤·¤Æ¸Æ¤Ð¤ì¤¿¤È¤¤Ë¥³¥ó¥Ô¥å¡¼¥¿¤¬¼Â¹Ô¤¹¤ë¥³¡¼¥É¤¬·ë¤ÓÉÕ¤±¤é¤ì¤Æ¤¤¤ë¡£
¤³¤Î¥³¡¼¥É¤ò´Ø¿ôÄêµÁ¡Êfunction definition¡Ë¤È¸Æ¤Ó¡¢
¥·¥ó¥Ü¥ëdefun¡Êdefine function¡Ê´Ø¿ô¤òÄêµÁ¤¹¤ë¡Ë¤Îά¡Ë¤Ç»Ï¤Þ¤ë
Lisp¤Î¼°¤òɾ²Á¤¹¤ë¤³¤È¤ÇºîÀ®¤¹¤ë¡£
defun¤Ï¡¢¤½¤Î°ú¿ô¤òÄ̾ï¤Î¤è¤¦¤Ë¤Ïɾ²Á¤·¤Ê¤¤¤Î¤Ç¡¢
¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à¡Êspecial form¡Ë¤È¸Æ¤Ð¤ì¤ë¡£
°Ê²¼¤ÎÀá¤Ç¤Ï¡¢mark-whole-buffer¤Î¤è¤¦¤ÊEmacs¤Î¥½¡¼¥¹¥³¡¼¥É¤Î
´Ø¿ôÄêµÁ¤òÄ´¤Ù¤ë¡£
ËÜÀá¤Ç¤Ï¡¢´Ø¿ôÄêµÁ¤¬¤É¤Î¤è¤¦¤Ê¤â¤Î¤«¤òÍý²ò¤·¤Æ¤â¤é¤¦¤¿¤á¤Ë¡¢
´Êñ¤Ê´Ø¿ôÄêµÁ¤òÀâÌÀ¤¹¤ë¡£
Îã¤ò´Êñ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢»»½Ñ±é»»¤ò»È¤Ã¤¿´Ø¿ôÄêµÁ¤ò¼è¤ê¾å¤²¤ë¡£
»»½Ñ±é»»¤ò»È¤Ã¤¿Î㤬·ù¤¤¤Ê¿Í¤â¤¤¤ë¤Ç¤¢¤í¤¦¤¬¡¢ÍîÃÀ¤·¤Ê¤¤¤Ç¤Û¤·¤¤¡£
»Ä¤ê¤ÎÀá¤ÇÀâÌÀ¤¹¤ë¥³¡¼¥É¤Ë¤Ï¡¢»»½Ñ±é»»¤ä¿ô³Ø¤Ï¤Û¤È¤ó¤É¤Ê¤¤¡£
¤½¤Î¤Û¤È¤ó¤É¤Ï¡¢¥Æ¥¥¹¥È¤ò°·¤¦¡£
´Ø¿ôÄêµÁ¤Ï¡¢Ã±¸ìdefun¤Ë³¤¯ºÇÂç¤Ç5¤Ä¤ÎÉôʬ¤«¤éÀ®¤ë¡£
()¤ò»ØÄꤹ¤ë¡£
´Ø¿ôÄêµÁ¤Î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¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ë´Ø¿ô¤ÎÄêµÁ¤ò¶µ¤¨¤ëÁàºî¤Ç¤¢¤ë¡£ ¼¡Àá¤Ç¤Ï¡¢¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£
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¤È¥¿¥¤¥×¤¹¤ë¡£¡Ë
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¤Ç¥³¡¼¥É¤ò½ñ¤¯¤Ë¤Ï¡¢ ´Ø¿ô¤ò½ñ¤¤¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¥Æ¥¹¥È¤·¡¢ ɬÍפ˱þ¤¸¤Æ¡¢½¤Àµ¤äµ¡Ç½¶¯²½¤·¤ÆºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£
´Ø¿ô¤òÂÐÏÃŪ¤Ë¤¹¤ë¤Ë¤Ï¡¢
´Ø¿ô¤ÎÀâÌÀʸ¤Î¤¢¤È¤Ë¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥à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¤Ä¤¢¤ë¡£
¾å¤Î¥¡¼Îó¤ÎÎã¤Ï¡¢¤É¤Á¤é¤â¥Ý¥¤¥ó¥È¤òʸñ°Ì¤Ë3¤Ä¿Ê¤á¤ë
¡Êmultiply-by-seven¤Ë¤Ï¥¡¼¤¬¥Ð¥¤¥ó¥É¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢
¥¡¼¥Ð¥¤¥ó¥É¤ò»È¤¦Îã¤È¤·¤Æ¤Ï»È¤¨¤Ê¤¤¡Ë¡£
¡Ê¥³¥Þ¥ó¥É¤ò¥¡¼¤Ë¥Ð¥¤¥ó¥É¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï See Keybindings¡£¡Ë
Á°ÃÖ°ú¿ô¤òÂÐÏÃŪ´Ø¿ô¤ËÅϤ¹¤Ë¤Ï¡¢ M-3 M-e¤Î¤è¤¦¤Ë¥¡¼<META>¤Ë³¤±¤Æ¿ô¤ò¥¿¥¤¥×¤¹¤ë¤«¡¢ C-u 3 M-e¤Î¤è¤¦¤ËC-u¤Ë³¤±¤Æ¿ô¤ò¥¿¥¤¥×¤¹¤ë ¡Ê¿ô¤ò¥¿¥¤¥×¤»¤º¤ËC-u¤À¤±¤ò¥¿¥¤¥×¤¹¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¤Ï4¡Ë¡£
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¤¬Æó½Å°úÍÑÉä¤Ê¤·¤Ç¥Æ¥¥¹¥È¤ò
ɽ¼¨¤¹¤ë¤«¤é¤Ç¤¢¤ë¡£¡Ë
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¡£
´Ø¿ôÄêµÁ¤òɾ²Á¤·¤Æ´Ø¿ôÄêµÁ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡¢ Emacs¤ò½ªÎ»¤¹¤ë¤Þ¤Ç¤Ï´Ø¿ôÄêµÁ¤Ï͸ú¤Ç¤¢¤ë¡£ ¿·¤¿¤ËEmacs¤òµ¯Æ°¤·¤¿¤È¤¤Ë¤Ï¡¢ ´Ø¿ôÄêµÁ¤òºÆÅÙɾ²Á¤¹¤ë¤Þ¤Ç¤Ï´Ø¿ôÄêµÁ¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Ê¤¤¡£
¿·¤¿¤ËEmacs¤òµ¯Æ°¤¹¤ë¤¿¤Ó¤Ë¡¢¼«Æ°Åª¤Ë¥³¡¼¥É¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¯¤Ê¤ë¤Ç¤¢¤í¤¦¡£ ¤³¤ì¤Ë¤Ï¤¤¤¯¤Ä¤«¤ÎÊýË¡¤¬¤¢¤ë¡£
.emacs¤Ë´Ø¿ôÄêµÁ¤Î¥³¡¼¥É¤òÆþ¤ì¤Æ¤ª¤¯¡£
Emacs¤òµ¯Æ°¤¹¤ë¤È¡¢¸Ä¿ÍÍѤÎ.emacs¤¬¼«Æ°Åª¤Ëɾ²Á¤µ¤ì¡¢
¤½¤ÎÃæ¤Î¤¹¤Ù¤Æ¤Î´Ø¿ôÄêµÁ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¡£
See Emacs Initialization¡£
load¤òÍѤ¤¤ÆEmacs¤Ë³Æ¥Õ¥¡¥¤¥ë¤Î´Ø¿ôÄêµÁ¤òɾ²Á¤µ¤»¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£
See Loading Files¡£
site-init.el¤Ë¥³¡¼¥É¤ò¼ý¤á¤ë¡£
¤³¤¦¤¹¤ë¤È¡¢¥µ¥¤¥È¤Î¥æ¡¼¥¶¡¼¤Ê¤éï¤Ç¤â¥³¡¼¥É¤ò»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ë
¡ÊEmacs¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ë¥Õ¥¡¥¤¥ëINSTALL¤ò»²¾È¤Î¤³¤È¡Ë¡£
ºÇ¸å¤Ë¡¢Emacs¤Î¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¡¼¤¬»È¤¤¤½¤¦¤Ê¥³¡¼¥É¤Ê¤é¤Ð¡¢ ¥Í¥Ã¥È¥ï¡¼¥¯¤ËÅê¹Æ¤¹¤ë¤«Free Software Foundation¤ËÁ÷ÉÕ¤¹¤ë ¡Ê¤³¤¦¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢Åê¹Æ¤¹¤ë¤Þ¤¨¤Ë¥³¡¼¥É¤Ë ¥³¥Ô¡¼¥ì¥Õ¥È¤ÎÃí°Õ½ñ¤¤òÆþ¤ì¤Æ¤Û¤·¤¤¡Ë¡£ Free Software Foundation¤Ë¥³¡¼¥É¤òÁ÷ÉÕ¤¹¤ë¤È¡¢ Emacs¤Î¼¡´ü¥ê¥ê¡¼¥¹¤Ë¥³¡¼¥É¤¬´Þ¤Þ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£ ¤³¤Î¤è¤¦¤Ê¡Ö´ó£¹Ô°Ù¡×¤Ë¤è¤êEmacs¤¬À®Ä¹¤·¤Æ¤¤¿¤Î¤Ç¤¢¤ë¡£
letlet¼°¤Ï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¡Ë¡×¤ÎƱµÁ¸ì¤Ç¤¢¤ë¡Ë¡£
let¼°¤Î¹½Â¤let¼°¤Ï¡¢3¤Ä¤ÎÍ×ÁǤ«¤é¤Ê¤ë¥ê¥¹¥È¤Ç¤¢¤ë¡£
Âè°ì¤ÎÉôʬ¤Ï¡¢¥·¥ó¥Ü¥ëlet¤Ç¤¢¤ë¡£
ÂèÆó¤ÎÉôʬ¤Ï¡¢ÊÑ¿ô¥ê¥¹¥È¡Êvarlist¡Ë¤È¸Æ¤Ð¤ì¤ë¥ê¥¹¥È¤Ç¤¢¤ê¡¢
¤½¤Î¸Ä¡¹¤ÎÍ×ÁǤϡ¢Ã±ÆÈ¤Î¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¤«¡¢Âè1Í×ÁǤ¬¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¤è¤¦¤Ê
2Í×Áǥꥹ¥È¤Ç¤¢¤ë¡£
let¼°¤ÎÂè3¤ÎÉôʬ¤Ï¡¢let¤ÎËÜÂΤǤ¢¤ë¡£
Ä̾ËÜÂΤÏÊ£¿ô¸Ä¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£
let¼°¤Î¿÷·¿¤Ï¤Ä¤®¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡£
(let ÊÑ¿ô¥ê¥¹¥È ËÜÂÎ...)
ÊÑ¿ô¥ê¥¹¥È¤Î³Æ¥·¥ó¥Ü¥ë¤Ï¡¢
¥¹¥Ú¥·¥ã¥ë¥Õ¥©¡¼¥àlet¤Ç½é´üÃͤòÀßÄꤵ¤ì¤¿ÊÑ¿ô¤Ç¤¢¤ë¡£
ñÆÈ¤Î¥·¥ó¥Ü¥ë¤Î¾ì¹ç¡¢½é´üÃͤÏnil¤Ç¤¢¤ë¡£
Âè1Í×ÁǤ¬¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¤è¤¦¤Ê2Í×Áǥꥹ¥È¤Ç¤¢¤ë¾ì¹ç¡¢
¤½¤Î¥·¥ó¥Ü¥ë¤Ë¤Ï¡¢Lisp¥¤¥ó¥¿¡¼¥×¥ê¥¿¤¬Âè2Í×ÁǤòɾ²Á¤·¤¿·ë²Ì¤ò«Çû¤¹¤ë¡£
¤