Jestem nowy w Ruby. Chcę zaimportować funkcje z modułu zawierającego narzędzie, którego chcę nadal używać oddzielnie. W Pythonie zrobiłbym to po prostu:
def a():
...
def b():
...
if __name__ == '__main__':
a()
b()
Dzięki temu mogę uruchomić program lub zaimportować go jako moduł do użytku a()
i / lub b()
osobno. Jaki jest równoważny paradygmat w Rubim?
Odpowiedzi:
Z Rubiego, który widziałem na wolności (oczywiście, nie jest to tona), to nie jest standardowy wzór Ruby. Moduły i skrypty powinny pozostać oddzielne, więc nie zdziwiłbym się, gdyby nie było na to dobrego, czystego sposobu.
EDYCJA: Znalazłem.
Ale to zdecydowanie nie jest powszechne.
źródło
Jeśli ślad stosu jest pusty, możemy rozpocząć wykonywanie w prawo i lewo. Nie wiem, czy jest to używane konwencjonalnie, czy niekonwencjonalnie, ponieważ jestem w Rubim przez około tydzień.
Dowód koncepcji:
plik: test.rb
plik: shmest.rb
Stosowanie:
źródło
jest preferowany przez Rubocopa nad tym:
źródło