Actions
Bug #15733
closedInconsistent __FILE__ and Kernel#__dir__
Description
This might be duplicated with #7975, #8098 and #3346, but I believe it's worth to revisit.
Now, Ruby has __FILE__
keyword and Kernel#__dir__
method. One is of upper-case chars, and the other is of lower-case chars.
I make mistakes always when I want to get the directory name of the current file, to write __DIR__
(of course, it doesn't exist).
That is because of inconsistency between __FILE__
and __dir__
.
I understood the reason why __dir__
is of lower-case chars (to show it's defined as a method, not keyword), but this inconsistency brings huge confusion to me.
So, in my opinion, Ruby should have one of these options below:
- keyword
__DIR__
- method alias
Kernel#__DIR__
(as a compromise, but are there any difference between keyword__DIR__
andKernel#__DIR__
?) - method
Kernel#__file__
(we don't take care of method overheads when we access file systems)
Actions
Like0
Like0Like0