加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 20:10:29 所属栏目:百科 来源:网络整理
导读:如何在 Ruby中完成这个简单的任务? 我有一些简单的配置文件 === config.rbconfig = { 'var' = 'val' } 我想从一些方法加载配置文件,在main.rb文件中定义,以便config.rb中的局部变量成为该方法的局部变量. 这样的事情 === main.rbClass App def loader load(
如何在 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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读