Việc đặt giá trị mặc định cho một cuộc tranh luận splat đưa ra một lỗi:Làm thế nào để đặt một giá trị mặc định cho một cuộc tranh luận splat trong Ruby
1.9.3-p374 :001 > def a b, *c = nil
1.9.3-p374 :002?> end
SyntaxError: (irb):1: syntax error, unexpected '=', expecting ';' or '\n'
def a b, *c = nil
^
from /Users/me/.rvm/rubies/ruby-1.9.3-p374/bin/irb:16:in `<main>'
Một số biến thể tôi đã cố gắng mà không làm việc, hoặc:
1.9.3-p374 :003 > def a b, *c = []
1.9.3-p374 :005 > def a b, (*c) = nil
1.9.3-p374 :007 > def a b, (*c = [])
1.9.3-p374 :009 > def a b, (*c = [1,2,3])
1.9.3-p374 :011 > def a b, *c = [1,2,3]
Tôi không thấy một vấn đề không xác định ở đây, do đó, có vẻ như nó sẽ là có thể.
liên quan: Why non-explicit splat param plus default param is wrong syntax for method definition in Ruby 1.9?
Splat luận theo mặc định là rỗng mảng – fl00r
Có, nhưng những gì về một đối số mặc định? – jordanpg
Có lý do nào bạn chưa chấp nhận câu trả lời chưa? – vlasits