Tôi đang học đường ray và quay lại ruby để hiểu cách thức các đường ray (và ruby thực sự hoạt động). Khi tôi thấy các cuộc gọi phương thức như:Sử dụng ký hiệu làm đối số cho phương pháp ruby
validates validates :first_name, :presence => true
Tôi bị lẫn lộn. Làm thế nào để bạn viết phương pháp trong ruby chấp nhận các biểu tượng hoặc băm. Mã nguồn cho phương thức xác thực cũng gây nhầm lẫn. Ai đó có thể xin đơn giản hóa chủ đề này của việc sử dụng các biểu tượng như là đối số trong lớp ruby và phương pháp dụ cho tôi?
CẬP NHẬT:
Tốt nhất @Dave! Nhưng những gì tôi đã thử là một cái gì đó như:
def full_name (:first_name, :last_name)
@first_name = :first_name
@last_name = :last_name
p "#{@first_name} #{last_name}"
end
full_name("Breta", "Von Sustern")
Rõ ràng là làm tăng lỗi. Tôi đang cố gắng để hiểu: Tại sao là đi qua các biểu tượng như thế này như là đối số sai nếu biểu tượng giống như bất kỳ giá trị khác?
Ký hiệu và băm là các giá trị giống như bất kỳ hình thức nào khác - không có gì khác biệt khi chuyển biểu tượng hoặc băm khác với bất kỳ thứ gì khác. Điều gì đặc biệt khiến bạn bối rối? –
Điều làm tôi bối rối là tôi chưa bao giờ thấy một ví dụ về băm được sử dụng làm giá trị trong các phương thức ruby. Vì vậy, tôi không thể hình dung những gì bạn đang nói. –
Bạn * vượt qua * biểu tượng, tên tham số vẫn chỉ là - tên tham số và không được có ký tự ':' hàng đầu. –