Промежуточные операции (например, отображение) возвращают поток и вызываются терминальными операциями, которые возвращают не потоковые значения.
Можно найти схожую функциональность в рубине.
__ ФАЙЛ __ текущее имя исходного файла.
0$ Содержат название выполняемого сценария. Может быть присваиваемым.
источник: Ruby, Быстрый Касательно
Вы хотите использовать:
if __FILE__ == $0
# do stuff
end
__FILE__
имя исходного файла и $0
название сценария, в настоящее время выполняемого.