Estoy aprendiendo rails y volviendo a ruby para entender cómo funcionan los métodos en rieles (y ruby realmente funciona). Cuando veo llamadas a métodos como:Usar símbolos como argumentos para los métodos de ruby
validates validates :first_name, :presence => true
Me confundo. ¿Cómo se escriben los métodos en ruby que aceptan símbolos o hashes? El código fuente para el método validates también es confuso. ¿Podría alguien simplificar este tema de usar símbolos como argumentos en clase ruby y métodos de instancia para mí?
ACTUALIZACIÓN:
Buena esa @Dave! Pero lo que estaba probando era algo así como:
def full_name (:first_name, :last_name)
@first_name = :first_name
@last_name = :last_name
p "#{@first_name} #{last_name}"
end
full_name("Breta", "Von Sustern")
Lo que obviamente provoca errores. Estoy tratando de entender: ¿por qué pasar símbolos como este como argumentos incorrectos si los símbolos son como cualquier otro valor?
Los símbolos y valores hash son valores como cualquier otro; no hay nada diferente en pasar un símbolo o un hash que cualquier otra cosa. ¿Qué específicamente te está confundiendo? –
Lo que me confunde es que nunca he visto un ejemplo de hashes que se usen como valores en los métodos ruby. Entonces no puedo visualizar lo que estás diciendo. –
Sí * pass *, los nombres de los parámetros siguen siendo solo eso - nombres de parámetros, y no deberían tener el carácter ':' inicial. –