Je voudrais écrire ceci:En utilisant define_method pour définir les méthodes globales en dehors d'un module
[:p, :h1, :h3].each do |tag|
define_method(tag) { |text| "<#{tag}>#{text}</#{tag}>" }
end
Il est juste quelques méthodes simples pour envelopper le texte dans les balises HTML. Je veux être capable d'utiliser ces méthodes dans le reste du script. Malheureusement, la méthode define_method
semble fonctionner uniquement à l'intérieur d'un module. Mais si je faisais cela à l'intérieur d'un module, je ne serais pas en mesure d'écrire proprement p "This is a paragraph."
, ce serait quelque chose comme HTML::p "This is a paragraph."
ce qui serait assez terrible.
Alors, comment définir des méthodes comme celle-ci globalement?
cela semblait hacky au premier mais je suppose que c'est plutôt propre et ça fonctionne parfaitement. Je vous remercie! –