【问题标题】:How the instance_eval work in ruby with dslinstance_eval 如何在带有 dsl 的 ruby​​ 中工作
【发布时间】:2022-11-13 16:21:55
【问题描述】:

我正在学习在 ruby​​ 中实现 dsl,但对 instance_eval 的使用感到困惑。 我的问题是如何在不调用 config 方法的情况下在此代码中访问 c​​onfig 变量,以及是否在调用它的地方调用 config 方法。

class Rails
  def self.configure (&block)
    instance_eval(&block)
  end 
  def self.config
   @config I|= {} 
  end
end
Rails.yes
Rails.configure do 
  config["feature"] = true
end

【问题讨论】:

  • 我看到很多关于照片的问题,所以我问了,提供代码的截图并不意味着你是摄影师。你可以简单地回答我的问题,因为你可以提到不要使用 ss。

标签: ruby-on-rails ruby


【解决方案1】:

这是因为当 ruby​​ 看到配置时,它要么找到带有 config 的变量,要么找到带有 config 的方法,这里我们没有用 config 定义变量,但是有一个名称为 config 的方法,所以它称为 config 方法。

【讨论】:

    猜你喜欢
    • 2015-06-27
    • 2011-03-02
    • 2012-01-12
    • 1970-01-01
    • 2011-03-11
    • 2013-01-03
    • 1970-01-01
    • 2015-04-27
    • 2011-05-23
    相关资源
    最近更新 更多