Tôi vừa xem qua các Camping
codebase khi tôi nhìn thấy một constructor với nền được sử dụng như thế này:Toán tử Splat làm gì khi không có tên biến?
class Fruit
def initialize(*)
end
end
Tôi đã cố gắng nhìn lên "splat không có tên biến" trên trang web này và Google, nhưng tôi couldn' t tìm thấy bất cứ điều gì ngoài thông tin về splat đang được sử dụng với một tên biến như thế này *some_var
, nhưng không phải không có nó. Tôi cố gắng chơi xung quanh với điều này trên một repl, và tôi đã cố gắng những thứ như:
class Fruit
def initialize(*)
puts *
end
end
Fruit.new('boo')
nhưng chạy vào lỗi này:
(eval):363: (eval):363: compile error (SyntaxError)
(eval):360: syntax error, unexpected kEND
(eval):363: syntax error, unexpected $end, expecting kEND
Nếu câu hỏi này chưa được hỏi đã có, ai đó có thể giải thích cú pháp này làm gì?
Đây chỉ là một trường hợp đặc biệt của những gì Josnidhin đề cập. – sawa