相关疑难解决方法(0)

在Ruby中class_eval << - "end_eval",__ FILE __,_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

我正在学习如何在模块中使用class_eval(我对class_eval有点熟悉)并在resource_controller中遇到了这个有用的类.他们在那里有这样的事情:

class_eval <<-"end_eval", __FILE__, __LINE__

  def #{block_accessor}(*args, &block)
    unless args.empty? && block.nil?
      args.push block if block_given?
      @#{block_accessor} = [args].flatten
    end

    @#{block_accessor}
  end

end_eval
Run Code Online (Sandbox Code Playgroud)

在这种情况下做什么__FILE____LINE__做什么?我知道__FILE__引用当前文件,但整件事究竟做了什么?真的不知道如何搜索:).

ruby

44
推荐指数
1
解决办法
8249
查看次数

标签 统计

ruby ×1