Actions
Bug #15733
closedInconsistent __FILE__ and Kernel#__dir__
Bug #15733:
Inconsistent __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