# File.realpath

**URL:** <https://www.ruby-forum.com/t/file-realpath/181419>\
**Category:** Development\
**Created:** [January 11, 2010, 5:55pm UTC](https://www.ruby-forum.com/t/file-realpath/181419 "2010-01-11T17:55:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [January 11, 2010, 5:55pm UTC](https://www.ruby-forum.com/t/file-realpath/181419/1 "2010-01-11T17:55:30Z")

</div>

File.realpath (ã¨ File.realdirpath) ã‚’æä¾›ã™ã‚‹ã®ã¯ã©ã†ã§ã—ã‚‡ã†ã‹ã€‚

require\_relative ã‚’å‘¼ã³å‡ºã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’é€šã—ã¦  
æŒ‡å®šã—ãŸã¨ãã€å®Ÿä½“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ã®ç›¸å¯¾ãƒ‘ã‚¹ã§ãªã„ãƒ©ã‚¤ãƒ–ãƒ©ãƒªã‚’  
ãƒ­ãƒ¼ãƒ‰ã—ã¦ã—ã¾ã†ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚

% ls -l a b  
a:  
total 8  
-rw-r–r-- 1 akr akr 13 Jan 12 01:08 lib.rb  
-rw-r–r-- 1 akr akr 23 Jan 12 01:08 tst.rb

b:  
total 4  
-rw-r–r-- 1 akr akr 13 Jan 12 01:08 lib.rb  
lrwxrwxrwx 1 akr akr 11 Jan 12 01:08 tst.rb -\> …/a/tst.rb  
% cat a/tst.rb  
require\_relative “lib”  
% cat a/lib.rb  
p “a/lib.rb”  
% cat b/lib.rb  
p “b/lib.rb”  
% ./ruby a/tst.rb  
“a/lib.rb”  
% ./ruby b/tst.rb  
“b/lib.rb”

ã¤ã¾ã‚Šã€a/tst.rb ã¯ a/lib.rb ã‚’ãƒ­ãƒ¼ãƒ‰ã™ã‚‹ã“ã¨ã‚’æœŸå¾…ã—ã¦  
require\_relative ã‚’ä½¿ã£ã¦ã„ã‚‹ã®ã«  
b/tst.rb ã¨ã„ã†ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯çµŒç”±ã§å®Ÿè¡Œã—ãŸæ™‚ã¯ã€b/lib.rb ã‚’  
ãƒ­ãƒ¼ãƒ‰ã—ã¦ã—ã¾ã„ã¾ã™ã€‚

ã“ã‚Œã‚’é˜²ãã«ã¯ require\_relative å†…ã§å‘¼ã³å‡ºã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã®ãƒ‘ã‚¹åã®  
ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’è§£æ±ºã™ã‚Œã°ã„ã„ã®ã§ã™ãŒã€  
ã“ã‚Œã‚’è¡Œã†ãƒ¡ã‚½ãƒƒãƒ‰ã¯çµ„ã¿è¾¼ã¿ã«ã¯ã‚ã‚Šã¾ã›ã‚“ã€‚

ãã“ã§ã€pathname.rb ã® Pathname#realpath ã‚’ C ã§æ›¸ãç›´ã—ã¦  
File.realpath ã‚’å®Ÿè£…ã—ã¦ã¿ã¾ã—ãŸã€‚  
(ä»–ã® File ã®ãƒ‘ã‚¹åã‚’æ“ä½œã™ã‚‹ã‚¯ãƒ©ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰åŒæ§˜ã€  
æ–‡å­—åˆ—ã‚’å—ã‘å–ã£ã¦æ–‡å­—åˆ—ã‚’è¿”ã—ã¾ã™ã€‚)

(ãªãŠ C ã® realpath ã¯ãƒãƒƒãƒ•ã‚¡ã®å¤§ãã•ã‚’æŒ‡å®šã§ããªã„å±é™ºãªé–¢æ•°ãªã®ã§ç¦æ­¢ã§ã™)

ã¾ãŸã€Pathname#realpath ã¨å®Ÿè£…ãŒå…±æœ‰ã•ã‚Œã¦ã„ã‚‹ Pathname#realdirpath ã‚‚  
File.realdirpath ã¨ã—ã¦æä¾›ã—ã¦ã‚ã‚Šã¾ã™ã€‚

ã§ã€require\_relative ã§ File.realpath ã‚’ä½¿ã£ã¦ã€b/tst.rb ã‚’å®Ÿè¡Œã—ãŸå ´åˆã§ã‚‚  
a/lib.rb ã‚’ãƒ­ãƒ¼ãƒ‰ã™ã‚‹ã‚ˆã†ã«  
ã—ã¦ã¿ã¾ã—ãŸã€‚

% ./ruby a/tst.rb  
“a/lib.rb”  
% ./ruby b/tst.rb  
“a/lib.rb”

ã©ã†ã§ã—ã‚‡ã†?

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [January 11, 2010, 7:46pm UTC](https://www.ruby-forum.com/t/file-realpath/181419/2 "2010-01-11T19:46:46Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:40040] File.realpath”  
on Tue, 12 Jan 2010 01:54:59 +0900, Tanaka A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
writes:

|File.realpath (e$B$He(B File.realdirpath) e$B$rDs6!$9$k$N$O$I$&$G$7$g$&$+!#e(B

|e$B$I$&$G$7$g$&e(B?

e$B$$$$$s$8$c$J$$$G$7$g$&$+!#e(B
