【问题标题】:Rakefile - access variable defined in a prerequisiteRakefile - 在先决条件中定义的访问变量
【发布时间】:2015-10-25 13:12:46
【问题描述】:

有什么方法可以访问先决条件中定义的变量吗?例如

task :new_file do
    filename = 'foobar.txt' # in reality I ask the user for the filename
    File.write(filename, 'Some glorious content')
end

task :new_file! => [:new_file] do
    exec "vim #{filename.inspect}"
end

我希望 rake new_file! 只是 rake new_file 的简写,同时为我在 new_file 任务中创建的任何文件启动 vim。

我能想到的就是在:new_file 中填充一个全局变量FILENAME 并在new_file! 中使用它,然后清除它,但是如果有“更多的Rake”方法来做到这一点,我想知道。

【问题讨论】:

    标签: ruby rake rake-task rakefile


    【解决方案1】:

    一种方法是在任务之外定义变量,如下所示:

    filename = 'default.name'
    
    task :new_file do
        filename = 'foobar.txt' # in reality I ask the user for the filename
        File.write(filename, 'Some glorious content')
    end
    
    task :new_file! => [:new_file] do
        # filename will be visible here too, and its value was set in new_file
        exec "vim #{filename.inspect}"
    end
    

    【讨论】:

    • 这真的和我定义一个全局变量一样,这是我宁愿避免的。
    猜你喜欢
    • 1970-01-01
    • 2013-04-22
    • 2012-07-12
    • 2014-05-05
    • 2012-03-07
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多