Jestem początkującym Rubinem. Z książki wiem, że nazwa metody Ruby powinna zaczynać się od małej litery lub podkreślenia. Ale znalazłem różne scenariusze:Co to są wielkie i małe litery nazwy metody ruby?
Jeśli metoda jest zdefiniowana poza klasą, może rozpocząć się dopiero z małej litery, Ruby będzie narzekać z błędem, jeśli starają się określić metodę, która rozpoczyna się wielką literą, na przykład:
define sayHi puts "Hello" end sayHi # => Hello
ale poniższy kod nie działa:
define SayHi puts "Hello" end SayHi
będzie produkować błąd:
:in `<main>': uninitialized constant SayHi (NameError)
Jeśli metoda jest zdefiniowana wewnątrz klasy, to może zaczynać się wielką literą:
class Test def SayHi puts "hello" end end t = Test.new t.SayHi # => hello
Czy ktoś wie dlaczego # 1 nie działa podczas pracy # 2? Jakie są dokładne zasady nazwy metody ruby?
Dość nowe dla rubinu, a to jest również pomocne dla mnie. Wyjaśnione doskonale. +1 –
Dzięki John, wiele się nauczyłem z twojej odpowiedzi. –