Llamadas a funciones con parámetros opcionales

Hola a todos, se trata de una consulta para dejar el código más
limpio…

Ahora mismo tengo esta declaración:
def campo(form, campo, tipo=“text”, clase_campo="", texto_label="")

Y para la llamada pasando texto_label, simplemente hago
campo(f, “nombre”, “”, “”, “Nombre del vino”)

El problema es que esto es… feo. Funciona, pero es feo. Yo quiero
hacer una llamada más al estilo ruby, algo así:
campo(f, “nombre”, :texto_label => “Nombre del vino”)

¿Cómo tengo que hacer la declaración para que recoja esto?

s2 y gracias!!

El Tuesday 06 May 2008 14:32:46 Fernando C. escribió:

hacer una llamada más al estilo ruby, algo así:
campo(f, “nombre”, :texto_label => “Nombre del vino”)

¿Cómo tengo que hacer la declaración para que recoja esto?

s2 y gracias!!

def campo(form, campo, opciones={})
opciones = {:tipo => ‘text’}.merge opciones

end
y despues accederias a tipo, clase_campo y texto_label a traves de
opciones
opciones[:tipo]
opciones[:clase_campo]
opciones[:texto_label]


Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
Nicolás Guillén 6, locales 2 y 3. 50.018 Zaragoza
T) 902 021 404 F) 976 52 98 07 E) [email protected]

Sergio Cambra .:: entreCables - Symbol Servicios
wrote:

El Tuesday 06 May 2008 14:32:46 Fernando C. escribió:

hacer una llamada más al estilo ruby, algo así:
campo(f, “nombre”, :texto_label => “Nombre del vino”)

¿Cómo tengo que hacer la declaración para que recoja esto?

s2 y gracias!!

def campo(form, campo, opciones={})
opciones = {:tipo => ‘text’}.merge opciones

end
y despues accederias a tipo, clase_campo y texto_label a traves de
opciones
opciones[:tipo]
opciones[:clase_campo]
opciones[:texto_label]


Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
Nicolás Guillén 6, locales 2 y 3. 50.018 Zaragoza
T) 902 021 404 F) 976 52 98 07 E) [email protected]

Justo lo que quería, muchas gracias!!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs