Next: Unique File Names, Previous: Relative File Names, Up: File Names [Contents][Index]
¥Õ¥¡¥¤¥ë̾¤ÎŸ³«¡Êexpansion¡Ë¤È¤Ï¡¢ ÁêÂÐ¥Õ¥¡¥¤¥ë̾¤òÀäÂÐ¥Õ¥¡¥¤¥ë̾¤ËÊÑ´¹¤¹¤ë¤³¤È¤Ç¤¹¡£ ¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò´ð½à¤Ë¹Ô¤¦¤Î¤Ç¡¢ Ÿ³«¤¹¤Ù¤¥Õ¥¡¥¤¥ë̾¤Ë²Ã¤¨¤Æ¡¢¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤â »ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢Å¸³«¤Ç¤Ï¡¢./¤äname/../¤Î¤è¤¦¤Ê¾éĹÉôʬ¤ò ¼è¤ê½ü¤¤¤Æ¥Õ¥¡¥¤¥ë̾¤òñ½ã¤Ë¤·¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ïfilename¤òÀäÂÐ¥Õ¥¡¥¤¥ë̾¤ËÊÑ´¹¤¹¤ë¡£
directory¤¬Í¿¤¨¤é¤ì¤ë¤È¡¢
filename¤¬ÁêÂÐ¥Õ¥¡¥¤¥ë̾¤Ç¤¢¤ì¤Ð¡¢
¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò´ð½à¤Ë¤¹¤ë¡£
¡Êdirectory¤ÎÃͤ½¤Î¤â¤Î¤ÏÀäÂХǥ£¥ì¥¯¥È¥ê̾¤Ç¤¢¤ë¤³¤È¡£
‘~’¤Ç»Ï¤Þ¤Ã¤Æ¤â¤è¤¤¡£¡Ë
¤µ¤â¤Ê¤±¤ì¤Ð¡¢¥Ð¥Ã¥Õ¥¡¤Îdefault-directory
¤ÎÃͤò»È¤¦¡£
¤¿¤È¤¨¤Ð¤Ä¤®¤Î¤È¤ª¤ê¡£
(expand-file-name "foo") ⇒ "/xcssun/users/rms/lewis/foo"
(expand-file-name "../foo") ⇒ "/xcssun/users/rms/foo"
(expand-file-name "foo" "/usr/spool/") ⇒ "/usr/spool/foo"
(expand-file-name "$HOME/foo") ⇒ "/xcssun/users/rms/lewis/$HOME/foo"
‘.’¤ä‘..’¤ò´Þ¤à¥Õ¥¡¥¤¥ë̾¤Ï¡¢¤½¤ì¤é¤ÎÀµÂ§¤Ê·Á¤Ëñ½ã²½¤¹¤ë¡£
(expand-file-name "bar/../foo") ⇒ "/xcssun/users/rms/lewis/foo"
expand-file-name
¤Ï´Ä¶ÊÑ¿ô¤òŸ³«¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¡£
substitute-in-file-name
¤À¤±¤¬¤½¤ì¤ò¹Ô¤¦¡£
¤³¤Î´Ø¿ô¤ÏŸ³«¤ÎµÕÁàºî¤ò¹Ô¤¦¡£ ¤Ä¤Þ¤ê¡¢directory¤ò´ð½à¤Ë²ò¼á¤¹¤ë¤È filename¤ÈÅù²Á¤Ë¤Ê¤ëÁêÂÐ̾¤òÊÖ¤¹¡£
ÀäÂÐ¥Õ¥¡¥¤¥ë̾¤¬ÁõÃÖ̾¤Ç»Ï¤Þ¤ë¥·¥¹¥Æ¥à¤â¤¢¤ë¡£
¤½¤Î¤è¤¦¤Ê¥·¥¹¥Æ¥à¤Ç¤Ï¡¢directory¤Èfilename¤¬
2¤Ä¤Î°Û¤Ê¤ëÁõÃÖ̾¤Ç»Ï¤Þ¤ë¤È¡¢
filename¤ËÅù²Á¤Êdirectory¤ò´ð½à¤Ë¤·¤¿ÁêÂÐ̾¤Ï¤Ê¤¤¡£
¤½¤Î¤è¤¦¤Ê¾ì¹ç¡¢file-relative-name
¤Ï
ÀäÂÐ̾¤Î·Á¤Çfilename¤òÊÖ¤¹¡£
(file-relative-name "/foo/bar" "/foo/") ⇒ "bar" (file-relative-name "/foo/bar" "/hack/") ⇒ "/foo/bar"
¤³¤Î¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤ÎÃͤϡ¢ ¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤Î¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¡£ ¤³¤ì¤ÏÀäÂХǥ£¥ì¥¯¥È¥ê̾¤Ç¤¢¤ë¤³¤È¡£ ‘~’¤Ç»Ï¤Þ¤Ã¤Æ¤â¤è¤¤¡£ ¤³¤ÎÊÑ¿ô¤Ï³Æ¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ë¤Ç¤¢¤ë¡£
expand-file-name
¤Ï¡¢¤½¤ÎÂè2°ú¿ô¤¬nil
¤Ç¤¢¤ë¤È
¥Ç¥Õ¥©¥ë¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò»È¤¦¡£
UNIX¤Ç¤Ï¡¢¤³¤ÎÃͤϤĤͤ˥¹¥é¥Ã¥·¥å¤Ç½ª¤ëʸ»úÎó¤Ç¤¢¤ë¡£
default-directory ⇒ "/user/lewis/manual/"
¤³¤Î´Ø¿ô¤Ï¡¢filenameÆâ¤Î´Ä¶ÊÑ¿ô¤Î»²¾È¤ò ´Ä¶ÊÑ¿ô¤ÎÃͤÇÃÖ¤´¹¤¨¤ë¡£ UNIX¤Î¥·¥§¥ë¤Î¹½Ê¸µ¬Â§¤Ë½¾¤Ã¤Æ¡¢ ‘$’¤Ï´Ä¶ÊÑ¿ô¤ÎÃͤËÃÖ´¹¤¹¤ë¤¿¤á¤ÎÀÜÆ¬¼¤Ç¤¢¤ë¡£
´Ä¶ÊÑ¿ô̾¤Ï¡¢‘$’¤Ë³¤¯¡Ê²¼Àþ¤ò´Þ¤à¡Ë±Ñ¿ô»ú¤ÎÎó¤Ç¤¢¤ë¡£ ‘$’¤Î¤Ä¤®¤Îʸ»ú¤¬‘{’¤Ç¤¢¤ë¤È¡¢ Âбþ¤¹¤ë‘}’¤Þ¤Ç¤¬ÊÑ¿ô̾¤Ç¤¢¤ë¡£
¤³¤³¤Ç¤Ï¡¢´Ä¶ÊÑ¿ôHOME
¤Ï¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê̾
‘/xcssun/users/rms’¤òÊÝ»ý¤·¤Æ¤¤¤ë¤È²¾Äꤹ¤ë¡£
(substitute-in-file-name "$HOME/foo") ⇒ "/xcssun/users/rms/foo"
ÃÖ´¹¸å¡¢‘/’¤Î¤Ä¤®¤Ë‘~’¤«‘/’¤¬¸½¤ì¤ë¤È¡¢ ‘/’¤Þ¤Ç¤ÎÉôʬ¤ò¤¹¤Ù¤Æ¼è¤ê½ü¤¯¡£
(substitute-in-file-name "bar/~/foo") ⇒ "~/foo"
(substitute-in-file-name "/usr/local/$HOME/foo")
⇒ "/xcssun/users/rms/foo"
;; /usr/local/ has been discarded.
VMS¤Ç¤Ï¡¢‘$’¤Ë¤è¤ëÃÖ´¹¤Ï¹Ô¤ï¤Ê¤¤¤¿¤á¡¢ ¤³¤Î´Ø¿ô¤Ï¾éĹÉôʬ¤ò¼è¤ê½ü¤¯°Ê³°¤Ë¤Ï¤Ê¤Ë¤â¹Ô¤ï¤Ê¤¤¡£