Tôi là người mới bắt đầu học Ruby. Từ cuốn sách, tôi biết rằng một tên phương thức Ruby nên bắt đầu bằng một chữ thường hoặc dấu gạch dưới. Nhưng tôi thấy kịch bản khác nhau:Quy tắc chữ hoa và chữ thường của tên phương thức ruby là gì?
Nếu một phương pháp được định nghĩa bên ngoài một lớp học, nó chỉ có thể bắt đầu bằng chữ cái viết thường, Ruby sẽ phàn nàn với một lỗi nếu bạn cố gắng để xác định một phương pháp mà bắt đầu bằng một chữ cái viết hoa, ví dụ:
define sayHi puts "Hello" end sayHi # => Hello
nhưng, đoạn code sau không làm việc:
define SayHi puts "Hello" end SayHi
nó sẽ tạo ra một lỗi:
:in `<main>': uninitialized constant SayHi (NameError)
Nếu một phương pháp được định nghĩa bên trong một lớp học, sau đó nó có thể bắt đầu bằng chữ cái in hoa:
class Test def SayHi puts "hello" end end t = Test.new t.SayHi # => hello
Có ai biết tại sao # 1 không hoạt động trong khi # 2 làm việc? Các quy tắc chính xác tên phương pháp ruby là gì?
Khá mới đối với ruby và điều này cũng hữu ích đối với tôi. Xuất sắc giải thích. +1 –
Cảm ơn John, tôi đã học được rất nhiều từ câu trả lời của bạn. –