ruby - 在 Ruby 中,如何从文件中维护一长串实例变量?
问题描述
例如,我在 YAML 文件中存储了很多实例变量。这允许我在程序运行时更改程序的状态。但是,每次添加新变量时,我都需要更改读取文件的方法。
例如
config = YAML.open_file 'config.yml'
@var1 = config["var1"]
@var2 = config["var2"]
@var3 = config["var3"]
@var4 = config["var4"]
@var5 = config["var5"]
...
当我在 YAML 文件中添加变量时,如何使它更加动态并且不需要更改它?
解决方案
使用 Ruby 元编程!
instance_variable_set
你的朋友在这里吗:
config = YAML.load_file 'config.yml'
config.each do |key,value|
instance_variable_set('@'+key, value)
end
测试:
puts @var1
推荐阅读
- angular - 打字稿布尔值返回“未定义”
- java - ControllerAdvice 的异常处理程序在使用 Spring Boot 的 Rest API 获取请求中不起作用。如何解决?
- mysql - 如何编写数据库查询以获取 laravel-8 中列值为 1 的所有记录?
- laravel - 多个 Laravel 关系的条件
- javascript - 在 Javascript 中求解非平方线性方程组
- python - 如何将 gtts 库中的 mp3 文件集成到烧瓶中
- r - 在 Windows 中使用 R 包复制文件 - 访问被拒绝 - file.path()
- database - 如何在 postgreSQL 中开发查询以备份数据库表并定期恢复?
- c# - 将对象传递给 Roslyn 脚本
- html - 通过Css更改潜水内图像的图像大小