Next: , Previous: High-Level Completion, Up: Completion   [Contents][Index]


19.5.5 ¥Õ¥¡¥¤¥ë̾¤ÎÆÉ¤ß¼è¤ê

¤³¤³¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë̾¤òÆÉ¤ß¼è¤ë¤è¤¦¤ËÀ߷פµ¤ì¤¿¹â¥ì¥Ù¥ë¤Î Ê̤ÎÊä´°´Ø¿ô¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î¼«Æ°ÁÞÆþ¤Ê¤É¤ÎÆÃÊ̤ʵ¡Ç½¤òÄ󶡤·¤Þ¤¹¡£

Function: read-file-name prompt &optional directory default existing initial

¤³¤Î´Ø¿ô¤Ï¡¢prompt¤ò¥×¥í¥ó¥×¥È¤È¤·¡¢ Êä´°¤ò¹Ô¤Ã¤Æ¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ç¥Õ¥¡¥¤¥ë̾¤òÆÉ¤ß¼è¤ë¡£ default¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ ¥æ¡¼¥¶¡¼¤¬Ã±¤ËRET¤òÂǤĤȡ¢¤³¤Î´Ø¿ô¤Ïdefault¤òÊÖ¤¹¡£ default¤¬Àµ¤·¤¤¤«¤É¤¦¤«¤Ï¸¡ºº¤»¤º¡¢ ¤½¤ì¤¬¤Ê¤ó¤Ç¤¢¤ì¡¢¥æ¡¼¥¶¡¼¤¬¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤ò¶õ¤ÇÈ´¤±¤ë¤È¤½¤ì¤òÊÖ¤¹¡£

existing¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ ¥æ¡¼¥¶¡¼¤Ï´û¸¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¡£ RET¤Ï¡¢²Äǽ¤Ê¤é¤ÐÀµ¤·¤¤Ì¾Á°¤ËÊä´°¤ò¹Ô¤¦¤¬¡¢ ¤½¤ì¤¬Àµ¤·¤¯¤Ê¤¤¾ì¹ç¤Ë¤ÏÈ´¤±¤Ê¤¤¡£ existing¤ÎÃͤ¬nil¤Ç¤ât¤Ç¤â¤Ê¤¤¤È¡¢ RET¤ÏÊä´°¸å¤Î³Îǧ¤òɬÍפȤ¹¤ë¡£ existing¤¬nil¤Ç¤¢¤ë¤È¡¢ ¸ºß¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î̾Á°¤âµö¤¹¡£

°ú¿ôdirectory¤Ï¡¢ÁêÂÐ¥Õ¥¡¥¤¥ë̾¤ÎÊä´°¤ËÍѤ¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¡£ insert-default-directory¤¬nil°Ê³°¤Ç¤¢¤ë¤È¡¢ ½é´üÆþÎϤȤ·¤Ædirectory¤ò¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤ËÁÞÆþ¤¹¤ë¡£ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Îdefault-directory¤ÎÃͤ¬¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ë¡£

initial¤ò»ØÄꤹ¤ë¤È¡¢ ¡Êdirectory¤¬¤¢¤ì¤Ð¤½¤ì¤òÁÞÆþ¸å¤Ë¡Ë¥Ð¥Ã¥Õ¥¡¤Ë ÁÞÆþ¤µ¤ì¤ë½é´ü¥Õ¥¡¥¤¥ë̾¤Ë¤Ê¤ë¡£ ¤³¤Î¾ì¹ç¡¢¥Ý¥¤¥ó¥È¤Ïinitial¤ÎÀèÆ¬¤ËÃÖ¤«¤ì¤ë¡£ initial¤Î¥Ç¥Õ¥©¥ë¥È¤Ïnil¤Ç¤¢¤ê¡¢ ¤¤¤«¤Ê¤ë¥Õ¥¡¥¤¥ë̾¤âÁÞÆþ¤·¤Ê¤¤¡£ initial¤Îưºî¤ò¸«¤ë¤Ë¤Ï¡¢¥³¥Þ¥ó¥ÉC-x C-v¤ò»î¤·¤Æ¤Û¤·¤¤¡£ Ãí°Õ¡§ ¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢initial¤Ç¤Ï¤Ê¤¯default¤ò»È¤¦¤³¤È¤ò´«¤á¤ë¡£

Îã¤ò¼¨¤¹¡£

(read-file-name "The file is ")

;; ¾å¤Î¼°¤òɾ²Á¸å¤Ë¤Ï¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ë
---------- Buffer: Minibuffer ----------
The file is /gp/gnu/elisp/∗
---------- Buffer: Minibuffer ----------

manual TAB¤òÂǤĤȡ¢¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ë¡£

---------- Buffer: Minibuffer ----------
The file is /gp/gnu/elisp/manual.texi∗
---------- Buffer: Minibuffer ----------

¥æ¡¼¥¶¡¼¤¬RET¤ÈÂǤĤȡ¢ read-file-name¤Ï ¥Õ¥¡¥¤¥ë̾¤òʸ»úÎó"/gp/gnu/elisp/manual.texi"¤È¤·¤ÆÊÖ¤¹¡£

User Option: insert-default-directory

¤³¤ÎÊÑ¿ô¤Ïread-file-name¤¬»È¤¦¡£ ¤½¤ÎÃͤϡ¢read-file-name¤¬¡¢ ¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤È¡Ê¤¢¤ì¤Ð¡Ë½é´ü¥Õ¥¡¥¤¥ë̾¤ò ¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤ËÆþ¤ì¤ÆÆ°ºî¤ò³«»Ï¤¹¤ë¤«¤É¤¦¤«¤òÀ©¸æ¤¹¤ë¡£ ¤³¤ÎÊÑ¿ô¤ÎÃͤ¬nil¤Ç¤¢¤ë¤È¡¢ read-file-name¤Ï ¡Ê°ú¿ôinitial¤Ç½é´üÆþÎϤò»ØÄꤷ¤Ê¤¤¸Â¤ê¡Ë ¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ë½é´üÆþÎϤòÆþ¤ì¤Ê¤¤¡£ ¤½¤Î¾ì¹ç¤Ç¤â¡¢ÁêÂÐ¥Õ¥¡¥¤¥ë̾¤ÎÊä´°¤Ë¤Ï ¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò»È¤¦¤¬É½¼¨¤Ï¤·¤Ê¤¤¡£

Îã¤ò¼¨¤¹¡£

;; ¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÆþ¤ì¤Æ»Ï¤á¤ë
(let ((insert-default-directory t))
  (read-file-name "The file is "))
---------- Buffer: Minibuffer ----------
The file is ~lewis/manual/∗
---------- Buffer: Minibuffer ----------
;; ¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ï¶õ¤Ç¤¢¤ê¡¢¥×¥í¥ó¥×¥È¤Î¤ß
(let ((insert-default-directory nil))
  (read-file-name "The file is "))
---------- Buffer: Minibuffer ----------
The file is ∗
---------- Buffer: Minibuffer ----------