rails api dock syntax



ROR Api Dock总是以方法的语法开始。我的例子是link_to:

link_to(name = nil, options = nil, html_options = nil, &block) public

我的问题是关于"name=nil""something = nil",我在大多数命令中都看到了这一点。

第二个例子:url_for(options = nil)

有人能解释一下这件事的意义吗?或者它想说什么。。这是否意味着该选项是可选的?

为什么它很重要。。

Ruby与JavaScript或PHP不同,它强制使用调用方法的参数数量:

def foo(a,b) 
end

因此,如果您在没有参数的情况下调用foo,Ruby将引发一个异常ArgumentError: wrong number of arguments (0 for 2)

通过设置默认值,可以将参数标记为可选:

def foo(a = nil, b = nil) 
end

调用不带参数的foo将不再引发错误。

这通常用于创建可以接受列表参数或哈希的方法:

def foo(a = nil, b = nil, opts = {})
  opts.each do |k,v|
    puts "#{k} : #{v}"
  end
end

至于Ruby为什么这么做,这是一个语言设计决定。在许多情况下,它确实有助于追踪简单的错误,因为你只是传递了错误的参数。在一种不强制执行这一点的语言中,你会从方法内部得到一个类型或未定义的错误,这很难找出根本原因。IMHO Matz说得对。

最新更新