Ruby on Rails:“等于”符号的含义是什么?

时间:2009-06-10 15:37:53

标签: ruby-on-rails ruby parameters equals

我一直在使用的一些开源有以下行作为函数声明:

def parse_query(query = nil,options = {},models = nil)

“等于”符号对声明有什么影响?它只是使参数可选吗?

2 个答案:

答案 0 :(得分:13)

如果调用该函数的人没有指定参数,则设置参数的默认值。

答案 1 :(得分:5)

与Python和C ++类似,参数列表中的等号允许您指定默认参数。例如,在Python中:

def hello_world(message="Hello World"):
    print "message = "+message

像这样调用这个函数:

hello_world()

将导致:

message = Hello World

但是调用这个函数:

hello_world("changed default")

结果:

message = changed default