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

前端之家收集整理的这篇文章主要介绍了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

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

原文链接:https://www.f2er.com/ruby/272844.html

猜你在找的Ruby相关文章