首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails api dock语法

rails api dock语法
EN

Stack Overflow用户
提问于 2016-04-28 21:07:00
回答 1查看 128关注 0票数 1

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

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

我的问题是关于"name=nil""something = nil"的,我几乎在每个命令中都能看到它。

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

谁能解释一下这是什么意思,或者它试图say..does它意味着这个选项是可选的?

为什么它很重要..

EN

回答 1

Stack Overflow用户

发布于 2016-04-28 22:35:13

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

代码语言:javascript
复制
def foo(a,b) 
end

所以如果你不带参数调用foo,Ruby会抛出一个异常ArgumentError: wrong number of arguments (0 for 2)

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

代码语言:javascript
复制
def foo(a = nil, b = nil) 
end

在不带参数的情况下调用foo将不再引发错误。

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

代码语言:javascript
复制
def foo(a = nil, b = nil, opts = {})
  opts.each do |k,v|
    puts "#{k} : #{v}"
  end
end

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36915628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档