Keyword Arguments
Arguments amb noms
A partir de Ruby 2.1
1. Nombre y un parámetro inicial
def hola(nombre:"",edad:0)
if edad > 30
puts "Hola señor #{nombre}"
elsif edad < 30
puts "Hola joven #{nombre}"
end
end
hola(nombre:"Uriel", edad: 23)
Output
Hola joven Uriel
2. En cas de no assignar valora a l’edat
def hola(nombre:"",edad:0)
if edad > 30
puts "Hola señor #{nombre}"
elsif edad < 30
puts "Hola joven #{nombre}"
end
end
hola(nombre:"Uriel")
Output
Hola joven Uriel
Ix el mateix perquè a la línia 1
li assignem el valor edad:0
.
D’aquesta manera els dos paràmetres són opcionals perquè n’hi ha valors per defecte.
3. Ordre
L’ordre dels paràmetres és arbitrari, així es poden cridar al revés.
def hola(nombre:"",edad:0)
if edad > 30
puts "Hola señor #{nombre}"
elsif edad < 30
puts "Hola joven #{nombre}"
end
end
hola(edad:23 nombre:"Uriel")
Output
Hola joven Uriel
4. Afegint splash operator
D’aquesta manera podem posar paràmetres infinit.
def hola(nombre:"",edad:0,**options)
if edad > 30
puts "Hola señor #{nombre}"
elsif edad < 30
puts "Hola joven #{nombre}"
end
puts options[:animal_favorito]
end
hola(nombre:"Uriel", edad: 23,color_favorito:"Azul",animal_favorito:"Cocodrilo")
Output
Hola joven Uriel
{:color_favorito=>"Azul", :animal_favorito=>"Cocodrilo"}
5. Fer un argument obligatori
Per fer-ho col·loquem dos punts darrere de l’argument.