Next: , Previous: Input Streams, Up: Read and Print   [Contents][Index]


18.3 ÆþÎÏ´Ø¿ô

ËÜÀá¤Ç¤ÏÆÉ¤ß¼è¤ê¤Ë´Ø·¸¤¹¤ëLisp´Ø¿ô¤äÊÑ¿ô¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Þ¤¹¡£

°Ê²¼¤Î´Ø¿ô¤Ç¤Ï¡¢stream¤ÏÆþÎÏ¥¹¥È¥ê¡¼¥à¡ÊÁ°ÀỲ¾È¡Ë¤òɽ¤·¤Þ¤¹¡£ stream¤¬nil¤Ç¤¢¤Ã¤¿¤ê¾Êά¤¹¤ë¤È¡¢ standard-input¤ÎÃͤò¥Ç¥Õ¥©¥ë¥È¤Ë¤·¤Þ¤¹¡£

ÆÉ¤ß¼è¤êÃæ¤ËÊĤ¸¤Æ¤¤¤Ê¤¤¥ê¥¹¥È¤ä¥Ù¥¯¥È¥ë¡¢Ê¸»úÎó¤Ë½Ð²ñ¤¦¤È¡¢ ¥¨¥é¡¼end-of-file¤òÄÌÃΤ·¤Þ¤¹¡£

Function: read &optional stream

¤³¤Î´Ø¿ô¤Ïstream¤«¤é1¤Ä¤ÎLisp¼°¤Î¥Æ¥­¥¹¥Èɽ¸½¤òÆÉ¤ß¼è¤ê¡¢ ¤½¤ì¤òLisp¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤ÆÊÖ¤¹¡£ ¤³¤ì¤Ï´ðËÜŪ¤ÊLispÆþÎÏ´Ø¿ô¤Ç¤¢¤ë¡£

Function: read-from-string string &optional start end

¤³¤Î´Ø¿ô¤Ïstring¤Î¥Æ¥­¥¹¥È¤«¤éÀèÆ¬¤ÎLisp¼°¤Î¥Æ¥­¥¹¥Èɽ¸½¤òÆÉ¤ß¼è¤ë¡£ ÆÉ¤ß¼è¤Ã¤¿¼°¤òCAR¡¢Ê¸»úÎó¤Ë»Ä¤Ã¤Æ¤¤¤ë¤Ä¤®¤Îʸ»ú ¡Ê¤Ä¤Þ¤êÆÉ¤ß¼è¤Ã¤Æ¤¤¤Ê¤¤ºÇ½é¤Îʸ»ú¡Ë¤Î°ÌÃÖ¤òɽ¤¹À°¿ô¤òCDR ¤È¤¹¤ë¥³¥ó¥¹¥»¥ë¤òÊÖ¤¹¡£

start¤¬»ØÄꤷ¤Æ¤¢¤ë¤È¡¢Ê¸»úÎó¤Îstart¤Çź»úÉÕ¤± ¡ÊÀèÆ¬Ê¸»ú¤Îź»ú¤Ï0¡Ë¤µ¤ì¤ë¤È¤³¤í¤«¤éÆÉ¤ß»Ï¤á¤ë¡£ end¤ò»ØÄꤹ¤ë¤È¡¢¤½¤Îź»ú°ÌÃ֤ξÁ°¤ÇÆÉ¤ß¼è¤ê¤ò½ª¤é¤»¡¢ ʸ»úÎó¤Ë¤Ï»Ä¤ê¤Îʸ»ú¤¬¤Ê¤¤¤«¤Î¤è¤¦¤Ë°·¤¦¡£

Îã¡§

(read-from-string "(setq x 55) (setq y 5)")
     ⇒ ((setq x 55) . 11)
(read-from-string "\"A short string\"")
     ⇒ ("A short string" . 16)
;; ºÇ½é¤Îʸ»ú¤«¤éÆÉ¤ß»Ï¤á¤ë
(read-from-string "(list 112)" 0)
     ⇒ ((list 112) . 10)
;; 2ÈÖÌܤÎʸ»ú¤«¤éÆÉ¤ß»Ï¤á¤ë
(read-from-string "(list 112)" 1)
     ⇒ (list . 5)
;; 7ÈÖÌܤÎʸ»ú¤«¤éÆÉ¤ß»Ï¤á¡¢9ÈÖÌܤÎʸ»ú¤ÇÆÉ¤ß½ª¤¨¤ë
(read-from-string "(list 112)" 6 8)
     ⇒ (11 . 8)
Variable: standard-input

¤³¤ÎÊÑ¿ô¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÆþÎÏ¥¹¥È¥ê¡¼¥à¡¢ ¤Ä¤Þ¤ê¡¢°ú¿ôstream¤¬nil¤Ç¤¢¤ë¾ì¹ç¤Ëread¤¬»È¤¦ ¥¹¥È¥ê¡¼¥à¤òÊÝ»ý¤¹¤ë¡£