¿Cómo puedo activar una función, en ruby, como la siguiente?Ruby: ¿Cómo cambio el valor de un parámetro en una llamada a función?
change_me! (val)
actualización:
lo que me había que hacer era esto:
def change_me! (val)
val = val.chop while val.end_with? '#' or val.end_with? '/'
end
Esto sólo terminó con ....
change_me! 'test#///' => "test#///"
Lo que está tratando de hacer tornillos con alcance. Cuando llama a una función, cambia de ámbito, por lo que no funcionará de la manera que desee. Tendrás que jugar con 'define_method', que es demasiado para esto. Necesitas refactorizar tu proceso de pensamiento. – Trevoke
@Trevoke Lo que zombies intenta sería posible con pass-by-pointer o pass-by-reference. Sin embargo, ruby no hace eso. Puede modificar el interior del objeto pasado, pero no el objeto en sí. Pero puedes reemplazar completamente lo que está almacenado en el objeto. – hurikhan77