ruby:如何在本地上下文中加载.rb文件

如何在 Ruby中完成这个简单的任务?
我有一些简单的配置文件
=== config.rb
config = { 'var' => 'val' }

我想从一些方法加载配置文件,在main.rb文件中定义,以便config.rb中的局部变量成为该方法的局部变量.
这样的事情

=== main.rb
Class App
    def loader
        load('config.rb') # or smth like that
        p config['var']   # => "val"
    end
end

我知道我可以在config.rb中使用全局变量,然后在完成后对它们进行定义,但是我希望有一个红宝石的方式)

解决方法

除了受控环境外,我不建议这样做.

将模块保存到具有定义initialize和run_it方法的预定名称文件中.对于这个例子,我使用test.rb作为文件名:

module Test
  @@classvar = 'Hello'
  def initialize
    @who = 'me'
  end

  def get_who
    @who
  end

  def run_it
    print "#{@@classvar} #{get_who()}"
  end
end

然后编写一个简单的应用程序来加载并执行它:

require 'test'

class Foo
  include Test
end

END {
  Foo.new.run_it
}

# >> Hello me

只因为你可以做某事并不意味着你应该.我不能想到在制作中这样做的原因,只能在这里表现为好奇心和概念证明.将这个提供给未知的人将是一个很好的方式让你的机器被黑客入侵,因为代码可以做任何事情拥有的帐户可以做.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...