Аргументы по умолчанию в методах Ruby

Если вы работаете с Ruby, то вы должны знать, что аргументам в методах можно установить значения по умолчанию, например: ``` def perform(arg: "default") # ... end ```

Но знали ли вы, что в качестве значения по умолчанию можно использовать переменные объекта, например так: ``` class MyClass def initialize(arg) @arg = arg end def perform(arg = @arg) # ... end end ```

Или (что даже совсем не очевидно) другие аргументы этого метода: ``` module MyModule def self.perform(a = nil, arg: a) # ... end end ```

Последний кейс вам поможет постепенно перейти с позиционных аргументов, на ключевые аргументы. Что полезно, когда вы разрабатываете свою библиотеку и не хотите резко менять ее публичный интерфейс.

#Ruby #Method #Default #Arguments #KeywordArguments #InstanceVariable

Аргументы по умолчанию в методах Ruby | Сетка — социальная сеть от hh.ru