在Ruby中,require('my_thing')
相当于require 'my_thing'
?这只是ruby约定,你不需要在paranetheses包装函数的参数吗?
答案 0 :(得分:8)
你是对的,你不需要它们,但是,我认为你需要知道一件重要的事情,然后再决定在方法调用中抛弃它们(关于你的约定问题):
省略围绕参数的括号,作为一部分的方法 内部DSL(例如Rake,Rails,RSpec),具有"关键字" Ruby中的状态(例如attr_reader,puts)和属性访问方法。 在所有其他方法调用的参数周围使用括号。
由于require
有"关键字"在Ruby中的状态,不使用括号是可以的。但是,如果你制作了自己的my_require
方法,那么使用它们会更好。
答案 1 :(得分:3)
允许在参数周围省略括号是一种语言功能,而非惯例。
在Kernel
模块上定义的以小写字母开头的方法省略括号。 require
就是其中之一。
答案 2 :(得分:1)
您不需要括号。 require('my_thing')
相当于require 'my_thing'
。你是对的,这只是红宝石惯例。