Next: Input Functions, Previous: Streams Intro, Up: Read and Print [Contents][Index]
¥Æ¥¥¹¥È¤òÆÉ¤ß¼è¤ë¤Û¤È¤ó¤É¤ÎLisp´Ø¿ô¤Ï¡¢ ¥¹¥È¥ê¡¼¥à¡Êstream¡Ë¤ò°ú¿ô¤È¤·¤Æ¼õ¤±ÉÕ¤±¤Þ¤¹¡£ ÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ï¡¢ÆÉ¤ß¼è¤ë¤Ù¤¥Æ¥¥¹¥È¤Îʸ»ú¤ò¤É¤³¤«¤é¤É¤Î¤è¤¦¤ËÆÀ¤ë¤Î¤«¤ò »ØÄꤷ¤Þ¤¹¡£ ÆþÎÏ¥¹¥È¥ê¡¼¥à¤È¤·¤Æ»È¤¨¤ë·¿¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£
ÆþÎÏʸ»ú¤Ï¥Ð¥Ã¥Õ¥¡buffer¤Î¥Ý¥¤¥ó¥Èľ¸å¤Îʸ»ú¤«¤éÆÉ¤ß¼è¤é¤ì¤ë¡£ 1ʸ»úÆÉ¤à¤´¤È¤Ë¥Ý¥¤¥ó¥È¤ò¿Ê¤á¤ë¡£
ÆþÎÏʸ»ú¤Ï¡¢¥Þ¡¼¥«marker¤¬¤¢¤ë¥Ð¥Ã¥Õ¥¡¤Î ¥Þ¡¼¥«Ä¾¸å¤Îʸ»ú¤«¤éÆÉ¤ß¼è¤é¤ì¤ë¡£ 1ʸ»úÆÉ¤à¤´¤È¤Ë¥Þ¡¼¥«°ÌÃÖ¤ò¿Ê¤á¤ë¡£ ¥¹¥È¥ê¡¼¥à¤¬¥Þ¡¼¥«¤Ç¤¢¤ë¤È¤¤Ë¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤Î¥Ý¥¤¥ó¥È°ÌÃ֤ϱƶÁ¤·¤Ê¤¤¡£
ÆþÎÏʸ»ú¤Ïʸ»úÎóstring¤ÎÀèÆ¬Ê¸»ú¤«¤éɬÍפÊʸ»ú¿ô¤À¤±ÆÉ¤ß¼è¤é¤ì¤ë¡£
ÆþÎÏʸ»ú¤Ï´Ø¿ôfunction¤¬À¸À®¤¹¤ë¡£ ¤³¤Î´Ø¿ô¤Ï2¼ïÎà¤Î¸Æ¤Ó½Ð¤·Êý¤ò°·¤¨¤ëɬÍפ¬¤¢¤ë¡£
t
¥¹¥È¥ê¡¼¥à¤È¤·¤Æt
¤ò»È¤¦¤È¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤«¤éÆÉ¤ß¼è¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
¼ÂºÝ¤Ë¤Ï¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤òɽ¼¨¤·¥æ¡¼¥¶¡¼¤¬»ØÄꤷ¤¿¥Æ¥¥¹¥È¤«¤éÀ®¤ëʸ»úÎó¤òºî¤ê¡¢
¤½¤ì¤òÆþÎÏ¥¹¥È¥ê¡¼¥à¤È¤·¤Æ»È¤¦¡£
nil
ÆþÎÏ¥¹¥È¥ê¡¼¥à¤È¤·¤Ænil
¤ò»ØÄꤹ¤ë¤È¡¢
standard-input
¤ÎÃͤò¤«¤ï¤ê¤Ë»È¤¦¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
¤½¤ÎÃͤϥǥե©¥ë¥ÈÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ç¤¢¤ê¡¢
nil
°Ê³°¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¤Ç¤¢¤ë¤³¤È¡£
ÆþÎÏ¥¹¥È¥ê¡¼¥à¤È¤·¤Æ¤Î¥·¥ó¥Ü¥ë¤Ï¡¢ ¤½¤Î¥·¥ó¥Ü¥ë¤Î¡Ê¤¢¤ì¤Ð¡Ë´Ø¿ôÄêµÁ¤ÈÅù²Á¤Ç¤¢¤ë¡£
¥Ð¥Ã¥Õ¥¡¤Ç¤¢¤ë¥¹¥È¥ê¡¼¥à¤«¤é¤ÎÆÉ¤ß¼è¤ê¤ÎÎã¤ò ÆÉ¤ß¼è¤êÁ°¸å¤Î¥Ý¥¤¥ó¥È°ÌÃÖ¤ò´Þ¤á¤Æ¼¨¤·¤Þ¤¹¡£
---------- Buffer: foo ---------- This∗ is the contents of foo. ---------- Buffer: foo ----------
(read (get-buffer "foo")) ⇒ is
(read (get-buffer "foo")) ⇒ the
---------- Buffer: foo ---------- This is the∗ contents of foo. ---------- Buffer: foo ----------
ºÇ½é¤ÎÆÉ¤ß¼è¤ê¤Ç¤Ï¶õÇò¤òÆÉ¤ßÈô¤Ð¤·¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ÆÉ¤ß¼è¤ê¤Ç¤Ï¡¢°ÕÌ£¤¢¤ë¥Æ¥¥¹¥È¤Î¤Þ¤¨¤Ë¤¢¤ëÇòʸ»ú¤Ï¤¤¤¯¤Ä¤Ç¤âÆÉ¤ßÈô¤Ð¤·¤Þ¤¹¡£
¤Ä¤®¤Ï¡¢¥Þ¡¼¥«¤ò¥¹¥È¥ê¡¼¥à¤È¤·¤ÆÆÉ¤ß¼è¤ëÎã¤Ç¤¹¡£
¥Þ¡¼¥«¤Î½é´ü°ÌÃ֤ϲ¼¤Ë¼¨¤·¤¿¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤Ë¤¢¤ê¤Þ¤¹¡£
ÆÉ¤ß¼è¤Ã¤¿Ãͤϥ·¥ó¥Ü¥ëThis
¤Ç¤¹¡£
---------- Buffer: foo ---------- This is the contents of foo. ---------- Buffer: foo ----------
(setq m (set-marker (make-marker) 1 (get-buffer "foo"))) ⇒ #<marker at 1 in foo>
(read m) ⇒ This
m
⇒ #<marker at 5 in foo> ;; ºÇ½é¤Î¶õÇò¤ÎľÁ°
¤Ä¤®¤Ïʸ»úÎó¤ÎÆâÍÆ¤«¤éÆÉ¤ß¼è¤ê¤Þ¤¹¡£
(read "(When in) the course") ⇒ (When in)
°Ê²¼¤ÎÎã¤Ï¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤«¤éÆÉ¤ß¼è¤ê¤Þ¤¹¡£
¥×¥í¥ó¥×¥È¤Ï‘Lisp expression: ’¤Ç¤¹¡£
¡Ê¥¹¥È¥ê¡¼¥àt
¤«¤éÆÉ¤à¤È¤Ä¤Í¤Ë¤³¤Î¥×¥í¥ó¥×¥È¤¬»È¤ï¤ì¤ë¡£¡Ë
¥æ¡¼¥¶¡¼¤ÎÆþÎϤϥץí¥ó¥×¥È¤Ë³¤±¤Æ¼¨¤·¤Æ¤¢¤ê¤Þ¤¹¡£
(read t)
⇒ 23
---------- Buffer: Minibuffer ----------
Lisp expression: 23 RET
---------- Buffer: Minibuffer ----------
ºÇ¸å¤Ï¡¢useless-stream
¤È¤¤¤¦Ì¾Á°¤Î´Ø¿ô¤ò¥¹¥È¥ê¡¼¥à¤Ë¤·¤¿Îã¤Ç¤¹¡£
¤³¤Î¥¹¥È¥ê¡¼¥à¤ò»È¤¦¤Þ¤¨¤Ë¡¢
ÊÑ¿ôuseless-list
¤òʸ»ú¤Î¥ê¥¹¥È¤Ç½é´ü²½¤·¤Þ¤¹¡£
¤½¤¦¤¹¤ë¤È¡¢´Ø¿ôuseless-stream
¤ò¸Æ¤Ó½Ð¤¹¤¿¤Ó¤Ë
¥ê¥¹¥ÈÆâ¤Î¤Ä¤®¤Îʸ»ú¤òÊÖ¤¹¤«¡¢
¥ê¥¹¥È¤ÎÀèÆ¬¤ËÄɲä·¤ÆÊ¸»ú¤òÆÉ¤ßÌᤷ¤Þ¤¹¡£
(setq useless-list (append "XY()" nil)) ⇒ (88 89 40 41)
(defun useless-stream (&optional unread) (if unread (setq useless-list (cons unread useless-list)) (prog1 (car useless-list) (setq useless-list (cdr useless-list))))) ⇒ useless-stream
¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Æ¥¹¥È¥ê¡¼¥à¤ò»È¤Ã¤ÆÆÉ¤ß¼è¤ê¤Þ¤¹¡£
(read 'useless-stream) ⇒ XY
useless-list ⇒ (40 41)
¥ê¥¹¥È¤Ë¤Ï³«¤³ç¸Ì¤ÈÊĤ¸³ç¸Ì¤¬»Ä¤Ã¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
Lisp¥ê¡¼¥À¤¬³«¤³ç¸Ì¤Ë½Ð²ñ¤¦¤È¤³¤ì¤ÇÆþÎϤò½ª¤¨¤ë¤È·èÄꤷ¡¢
¤½¤ì¤òÆÉ¤ßÌ᤹¤Î¤Ç¤¹¡£
¤³¤Î»þÅÀ¤ÇÆÉ¤ß¼è¤ê¤ò»î¤ß¤ë¤È¡¢
‘()’¤òÆÉ¤ß¼è¤Ã¤Ænil
¤òÊÖ¤·¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢´Ø¿ôload
¤Ç³«¤¤¤¿ÆþÎÏ¥Õ¥¡¥¤¥ë¤«¤éÆÉ¤ß¼è¤ë¤¿¤á¤Î
ÆþÎÏ¥¹¥È¥ê¡¼¥à¤È¤·¤ÆÆâÉôŪ¤Ë»È¤ï¤ì¤ë¡£
ÆÉ¼Ô¤Ï¤³¤Î´Ø¿ô¤ò»È¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
Next: Input Functions, Previous: Streams Intro, Up: Read and Print [Contents][Index]