В Ruby, версия для Windows в любом случае, я только что проверил, и __FILE__
не содержит полный путь к файлу. Вместо этого он содержит путь к файлу относительно того, откуда он выполняется.
В PHP __FILE__
- это полный путь (который, на мой взгляд, предпочтительнее). Вот почему, чтобы сделать ваши пути переносимыми в Ruby, вам действительно нужно использовать это:
File.expand_path(File.dirname(__FILE__) + "relative/path/to/file")
Следует отметить, что в Ruby 1.9.1 __FILE__
содержит полный путь к файлу, приведенное выше описание было при использовании Ruby 1.8.7.
Для совместимости с Ruby 1.8.7 и 1.9.1 (не уверен насчет 1.9) вам потребуются файлы с использованием конструкции, которую я показал выше.