Posts Tagged ‘argumento’

Valores por defecto para argumento hash

Thursday, December 4th, 2008

Cuando un método requiere varios argumentos puede resultar difícil recordar el orden en que deben ser pasados. Es por esto que algunos lenguajes permiten invocar métodos a través de nombres de parámetros y sus valores. Ruby no soporta esa forma, pero se puede obtener, el mismo resultado, a través del uso de un hash en el argumento.

Buscando encontré esta estupenda forma de establecer valores por defecto en un hash, de manera de obtener argumentos opcionales en la invocación.


def foo args
  args[:unidad] ||= 0
  args[:total] ||= 1
  args[:unidad] / args[:total]
end

>> foo :unidad => 23
=> 23
>> foo :total => 12
=> 0

Referencia