Аргументы по умолчанию в методах 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