Como alterar o valor padrão de um atributo Struct?
De acordo coma documentação os atributos não definidos de Struct são definidos comonil
:
os parâmetros não definidos são padronizados como nil.
É possível especificar o valor padrão para atributos específicos?
Por exemplo, para o seguinte Struct
Struct.new("Person", :name, :happy)
Eu gostaria do atributohappy
para usar como padrãotrue
ao invés denil
. Como posso fazer isso? Se eu fizer o seguinte
Struct.new("Person", :name, :happy = true)
eu recebo
-:1: syntax error, unexpected '=', expecting ')'
Struct.new("Person", :name, :happy = true)
^
-:1: warning: possibly useless use of true in void context