有没有办法访问先决条件中定义的变量? e.g。
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。
我能想到的是在FILENAME
中填充全局变量:new_file
并在new_file!
中使用它然后清除它,但是如果有一个"更多Rake&# 34;这样做的方式,我想知道。
答案 0 :(得分:0)
一种方法是在任务之外定义变量,如下所示:
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