当我尝试初始化它时,它工作得非常好
class Abc
def initialize(parent_id, user = nil, permission)
end
end
Abc.new(1 ,2, "some_permission")
但是当我这样做的时候
class Abc
def initialize(parent_id, user = nil, permission, g_data = nil)
end
end
Abc.new(1,2,“some_permission”,4)
我收到语法错误语法错误,意外'=',期待')'这是一个奇怪的行为,为什么它没有把两个参数默认为nil
根据ruby documentation,默认值应该分组。
默认值不需要首先显示,但默认值的参数必须组合在一起。
因此,根据此规则,您的方法参数应如下列出:
class Abc
def initialize(parent_id, user = nil,g_data = nil,permission)
end
# OR
def initialize(parent_id, permission,user = nil,g_data = nil)
end
end