• ruby load file -- 学习问题 at 2013年08月16日

    谢谢,懂了,这时候让我想起了前面看到的 "延迟执行 (Deferred Evaluation)"

  • ruby load file -- 学习问题 at 2013年08月16日
    Dir.glob('file1.rb').each do |file|
        @setups = []
        @events = {}
        load file
        @events.each_pair do |name, event|
            env = Object.new
            @setups.each do |setup|
                env.instance_eval &setup
            end
            puts "ALERT: #{name}" if env.instance_eval &event
        end
    end
    

    在上面这段代码中,执行到 load file 时,应该会执行 file1.rb 里的四个方法

    event "the sky is falling" do
        @sky_height < 300
    end
    

    这里 @sky_height 实便变量还没有定义,应该会报错,不是吗?

    对于程序执行的顺序,以及变量的使用情况不是很了解