Comment cette tâche simple peut-elle être effectuée dans Ruby?
J'ai quelques fichier de configuration simple,ruby: comment charger le fichier .rb dans le contexte local
=== config.rb
config = { 'var' => 'val' }
Je veux charger le fichier config à partir d'une méthode, définie dans le fichier main.rb
afin que les variables locales de config.rb
sont devenues vars locales de cette méthode.
Quelque chose comme ceci:
=== main.rb
Class App
def loader
load('config.rb') # or smth like that
p config['var'] # => "val"
end
end
Je sais que je peux utiliser vars globales dans config.rb
puis les annuler la définition lorsque vous avez terminé, mais je l'espère, il y a un moyen de rubis)
Vous pouvez le faire avec eval, mais ce n'est pas une bonne idée (dans n'importe quelle langue). –
Il y a des sandboxs qui vous permettent d'exécuter du code dans un environnement de contrôleur, donc je vais voter pour compenser votre downvote – Papipo