J'essaie de définir un ensemble de fonctions où je peux passer dans les paramètres donnés. Par exemple, comment je fais ce qui suit?Définition de méthodes à la volée dans Ruby/Rails - comment paramétrer?
>> get_1_type("xxx")
V4_RELATIONSHIP_TYPES=[1=>2,3=>4]
V4_RELATIONSHIP_TYPES.keys.each do |key|
self.class.send(:define_method, "get_#{key}_type".downcase) do
return GuidInfo.get_or_new(PARAMS, V4_RELATIONSHIP_TYPES[key])
end
end
# i can call -> get_1_type("xxx") , and get the function called
merci, c'est génial! Cela vous dérange-t-il d'expliquer ce que ça fait vraiment? En particulier, je ne comprends pas comment le bloc fonctionne –
Le bloc est utilisé comme corps de la méthode et les paramètres du bloc sont utilisés comme paramètres de la méthode. –
merci beaucoup! J'ai toujours la tête tournée vers le bloc, le rendement, etc. Comment êtes-vous devenu compétent? –