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


18.5 ½ÐÎÏ´Ø¿ô

ËÜÀá¤Ç¤ÏLisp¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¼¨¤¹¤ë¡¢ ¤Ä¤Þ¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¼¨É½¸½¤ËÊÑ´¹¤¹¤ëLisp´Ø¿ô¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Þ¤¹¡£

Emacs¤Îɽ¼¨´Ø¿ô¤Î¤Ê¤«¤Ë¤Ï¡¢Àµ¤·¤¯ÆÉ¤ß¼è¤ì¤ë¤è¤¦¤Ë ¥¯¥©¡¼¥Èʸ»ú¤ò½ÐÎϤËÄɲ乤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ »ÈÍѤµ¤ì¤ë¥¯¥©¡¼¥Èʸ»ú¤Ï‘"’¤È‘\’¤Ç¤¹¡£ ¤³¤ì¤é¤Ï¡¢Ê¸»úÎó¤È¥·¥ó¥Ü¥ë¤ò¶èÊ̤·¤¿¤ê¡¢ ʸ»úÎó¤ä¥·¥ó¥Ü¥ëÆâ¤Î¶çÆÉÅÀʸ»ú¤òÆÉ¤ß¼è¤ë¤È¤­¤Ë¶èÀÚ¤êʸ»ú¤È¤·¤Æ°·¤¦¤³¤È ¤òËɤ®¤Þ¤¹¡£ ¾Ü¤·¤¯¤ÏSee Printed Representation¡£ ½ÐÎÏ´Ø¿ô¤òÁª¤Ù¤Ð¡¢¥¯¥©¡¼¥È¤Î¤¢¤ê¤Ê¤·¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£

¥Æ¥­¥¹¥È¤òLisp¥·¥¹¥Æ¥à¤ØÆÉ¤ß¼è¤ë°Õ¿Þ¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢ Û£Ëæ¤µ¤òÈò¤±¤ë¤¿¤á¤Ë¥¯¥©¡¼¥Èʸ»úÉÕ¤­¤Çɽ¼¨¤¹¤ë¤Ù¤­¤Ç¤¹¡£ Lisp¥×¥í¥°¥é¥Þ¤ËÂФ·¤ÆLisp¥ª¥Ö¥¸¥§¥¯¥È¤òÌÀ³Î¤Ëµ­½Ò¤¹¤ë¾ì¹ç¤âƱÍͤǤ¹¡£ ¤·¤«¤·¡¢¿Í´Ö¸þ¤±¤Î¸«¤ä¤¹¤¤½ÐÎϤ¬ÌÜŪ¤Ç¤¢¤ì¤Ð¡¢ ¥¯¥©¡¼¥È¤»¤º¤Ëɽ¼¨¤¹¤ë¤Î¤¬ÉáÄ̤Ϥ褤¤Ç¤·¤ç¤¦¡£

Lisp¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤½¤ì¼«¿È¤ò»²¾È¤Ç¤­¤Þ¤¹¡£ ¼«¸Ê»²¾È¤·¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤òÉáÄ̤ÎÊýË¡¤Çɽ¼¨¤¹¤ë¤Ë¤Ï ̵¸Â¤Î¥Æ¥­¥¹¥È¤¬É¬ÍפǤ¢¤ê¡¢ ¤½¤Î¤è¤¦¤Ê»î¤ß¤Ï̵¸ÂºÆµ¢¤ò¤â¤¿¤é¤·¤Þ¤¹¡£ Emacs¤Ï¤½¤Î¤è¤¦¤ÊºÆµ¢¤ò¸¡½Ð¤·¡¢ ¤¹¤Ç¤Ëɽ¼¨¤·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤òºÆµ¢Åª¤Ëɽ¼¨¤¹¤ë¤«¤ï¤ê¤Ë ‘#level’¤òɽ¼¨¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢‘#0’¤Ï¡¢¸½ºß¤Îɽ¼¨Áàºî¤Ë¤ª¤¤¤Æ¥ì¥Ù¥ë0¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò ºÆµ¢Åª¤Ë»²¾È¤¹¤ë¤³¤È¤ò¼¨¤·¤Þ¤¹¡£

(setq foo (list nil))
     ⇒ (nil)
(setcar foo foo)
     ⇒ (#0)

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

Function: print object &optional stream

´Ø¿ôprint¤ÏÊØÍø¤Êɽ¼¨ÊýË¡¤Ç¤¢¤ë¡£ ¥ª¥Ö¥¸¥§¥¯¥Èobject¤Îɽ¼¨É½¸½¤ò ¥¹¥È¥ê¡¼¥àstream¤Ë½ÐÎϤ·¡¢ object¤ÎÁ°¸å¤Ë²þ¹Ô¤ò1¤Ä¤º¤Äɽ¼¨¤¹¤ë¡£ ¥¯¥©¡¼¥Èʸ»ú¤ò»È¤¦¡£ print¤Ïobject¤òÊÖ¤¹¡£ ¤¿¤È¤¨¤Ð¤Ä¤®¤Î¤È¤ª¤ê¡£

(progn (print 'The\ cat\ in)
       (print "the hat")
       (print " came back"))
     -| 
     -| The\ cat\ in
     -| 
     -| "the hat"
     -| 
     -| " came back"
     -| 
     ⇒ " came back"
Function: prin1 object &optional stream

¤³¤Î´Ø¿ô¤Ï¥ª¥Ö¥¸¥§¥¯¥Èobject¤Îɽ¼¨É½¸½¤ò ¥¹¥È¥ê¡¼¥àstream¤Ë½ÐÎϤ¹¤ë¡£ print¤Î¤è¤¦¤Ë¤Ï½ÐÎϤò¶èÀÚ¤ë²þ¹Ô¤òɽ¼¨¤·¤Ê¤¤¤¬¡¢ print¤ÈƱÍͤ˥¯¥©¡¼¥Èʸ»ú¤òÍѤ¤¤ë¡£ object¤òÊÖ¤¹¡£

(progn (prin1 'The\ cat\ in) 
       (prin1 "the hat") 
       (prin1 " came back"))
     -| The\ cat\ in"the hat"" came back"
     ⇒ " came back"
Function: princ object &optional stream

¤³¤Î´Ø¿ô¤Ï¥ª¥Ö¥¸¥§¥¯¥Èobject¤Îɽ¼¨É½¸½¤ò ¥¹¥È¥ê¡¼¥àstream¤Ë½ÐÎϤ¹¤ë¡£ object¤òÊÖ¤¹¡£

¤³¤Î´Ø¿ô¤Ï¡¢read¤Ç¤Ï¤Ê¤¯¿Í¤¬ÆÉ¤ß¤ä¤¹¤¤½ÐÎϤò°Õ¿Þ¤·¤Æ¤ª¤ê¡¢ ¥¯¥©¡¼¥Èʸ»ú¤òÁÞÆþ¤»¤º¡¢Ê¸»úÎó¤ò°Ï¤à¥À¥Ö¥ë¥¯¥©¡¼¥È¤â½ÐÎϤ·¤Ê¤¤¡£ ¶õÇò¤âÄɲ䷤ʤ¤¡£

(progn
  (princ 'The\ cat)
  (princ " in the \"hat\""))
     -| The cat in the "hat"
     ⇒ " in the \"hat\""
Function: terpri &optional stream

¤³¤Î´Ø¿ô¤Ï¥¹¥È¥ê¡¼¥àstream¤Ë²þ¹Ô¤ò½ÐÎϤ¹¤ë¡£ ´Ø¿ô̾¤Ï¡Øterminate print¡Ù¤Îά¡£

Function: write-char character &optional stream

¤³¤Î´Ø¿ô¤Ïʸ»úcharacter¤ò¥¹¥È¥ê¡¼¥àstream¤Ø½ÐÎϤ¹¤ë¡£ character¤òÊÖ¤¹¡£

Function: prin1-to-string object &optional noescape

¤³¤Î´Ø¿ô¤ÏƱ¤¸°ú¿ô¤ËÂФ·¤Æprin1¤¬É½¼¨¤¹¤ë¤Ç¤¢¤í¤¦ ¥Æ¥­¥¹¥È¤«¤éÀ®¤ëʸ»úÎó¤òÊÖ¤¹¡£

(prin1-to-string 'foo)
     ⇒ "foo"
(prin1-to-string (mark-marker))
     ⇒ "#<marker at 2773 in strings.texi>"

noescape¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ ½ÐÎϤˤϥ¯¥©¡¼¥Èʸ»ú¤ò»È¤ï¤Ê¤¤¡£ ¡Ê¤³¤Î°ú¿ô¤Ï¡¢Emacs 19ÈǰʹߤǻȤ¨¤ë¡£¡Ë

(prin1-to-string "foo")
     ⇒ "\"foo\""
(prin1-to-string "foo" t)
     ⇒ "foo"

ʸ»úÎó¤È¤·¤Æ¤ÎLisp¥ª¥Ö¥¸¥§¥¯¥È¤Îɽ¼¨É½¸½¤òÆÀ¤ë¤¿¤á¤ÎÊ̤ÎÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢ String Conversion¤Îformat¤ò»²¾È¡£

Macro: with-output-to-string body...

¤³¤Î¥Þ¥¯¥í¤Ï¡¢standard-output¤òʸ»úÎó¤Ø¤Î½ÐÎϤÈÀßÄꤷ¤Æ ¥Õ¥©¡¼¥àbody¤ò¼Â¹Ô¤¹¤ë¡£ ¤½¤·¤Æ¡¢¤½¤Îʸ»úÎó¤òÊÖ¤¹¡£

¤¿¤È¤¨¤Ð¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Î̾Á°¤¬‘foo’¤Ç¤¢¤ë¤È

(with-output-to-string
  (princ "The buffer is ")
  (princ (buffer-name)))

¤Ï"The buffer is foo"¤òÊÖ¤¹¡£


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