Ответ 1
Я обнаружил, что $0
- это имя файла, используемого для запуска программы. Легко.
Я пытаюсь получить ссылку на script, переданную интерпретатору ruby. Например, если я выполняю ruby foo.rb
, я хочу получить ссылку на файл foo.rb
.
Я думаю, что в Python это будет доступно через sys.argv[0]
. Можно было бы назвать __FILE__
, но это не решение, которое я ищу, так как __FILE__
дает файл, внутри которого находится текущий исполняемый код.
Есть ли способ сделать это?
Я обнаружил, что $0
- это имя файла, используемого для запуска программы. Легко.
Использовать методы в классе File для управления FILE
Внутри test.rb у меня есть
puts __FILE__
puts File.dirname(__FILE__)
puts File.basename(__FILE__)
При запуске
ruby a/b/test.rb
Вы получаете
a/b/test.rb
a/b
test.rb