'если __ называют __ == '__ основной __'' эквивалентный в Ruby

Я плохо знаком с Ruby. Я надеюсь импортировать функции из модуля, который содержит инструмент, который я хочу продолжить использовать отдельно. В Python я просто сделал бы это:

def a():
    ...
def b():
    ...
if __name__ == '__main__':
    a()
    b()

Это позволяет мне запускать программу или импортировать ее как модуль для использования a() и/или b() отдельно. Какова эквивалентная парадигма в Ruby?

98
задан Imagist 12 February 2010 в 02:30
поделиться

1 ответ

Из Ruby, который я видел в дикой природе (конечно, не тонна), это не стандартный шаблон проектирования Ruby. Модули и скрипты должны оставаться отдельными, поэтому я не удивлюсь, если на самом деле нет хорошего, чистого способа сделать это.

РЕДАКТИРОВАТЬ: Нашел.

if __FILE__ == $0
    foo()
    bar()
end

Но это определенно нечасто.

126
ответ дан 24 November 2019 в 05:17
поделиться