Ruby on Rails: что означает символ «равно» в качестве параметра? - PullRequest
8 голосов
/ 10 июня 2009

Некоторый открытый исходный код, который я использовал, имеет следующую строку в качестве объявления функции:

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

Какое влияние на утверждение оказывают символы равенства? Это просто делает параметры необязательными?

Ответы [ 2 ]

13 голосов
/ 10 июня 2009

Устанавливает значение параметра по умолчанию, если лицо, вызывающее функцию, не указывает его.

5 голосов
/ 10 июня 2009

Как и в Python и C ++, знак равенства в списке параметров позволяет указать параметр по умолчанию. Например, в Python:

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

Вызов этой функции следующим образом:

hello_world()

Результатом будет:

message = Hello World

Но вызывая функцию так:

hello_world("changed default")

Результат:

message = changed default
...