rake 傳遞引數

2021-06-26 10:53:35 字數 779 閱讀 6226

task :blah do

puts env['foo']

end

但是,最近看到新的 api 使用中括號的用法 (也不新了,從 0.8.2 開始支援),覺得挺有趣的:

desc "passing 1 parameter to rake task"

task :blah1, [:a] do |t,args|

puts args.inspect

end

執行 rake blah1[9] 會輸出 ,注意到傳進來的變數值是字串。

desc "passing 2 parameters to rake task"

task :blah2, [:a, :b] do |t,args|

puts args.inspect

end

執行 rake blah2[foo,bar] 會輸出

如果要有預設值,可以這樣做:

desc "passing parameters with default values to rake task"

task :blah3, [:a, :b] do |t,args|

args.with_defaults(:a => 'foobar', :b => 1)

puts args.inspect

end

此時執行 rake blah3 則是輸出

rake是什麼與rake命令簡介

rake 是一門構建語言,和make www.gnu.org software make ant 很想象。rake是用ruby寫的,它支援它自己的dsl用來處理和維護 ruby應用程式。rails用rake的擴充套件來完成多種不同的任務。下面的一些在rails用的最多的rake任務。可以通過在你的r...

主題 rake是什麼與rake命令簡介

rake 是一門構建語言,和make www.gnu.org software make ant 很想象。rake是用ruby寫的,它支援它自己的dsl用來處理和維護 ruby應用程式。rails用rake的擴充套件來完成多種不同的任務。下面的一些在rails用的最多的rake任務。可以通過在你的r...

python 引數傳遞 Python 引數傳遞

python中的變數 乙個變數是區域性還是全域性,在編譯函式的時候就已經決定,因此讀變數值的時候也不會逐層向外查詢。變數是全域性還是局域,根據如下3條 1.如果函式內部有global語句,那麼它宣告的變數是全域性的。2.如果函式內部有對變數的賦值語句,那麼它是局域的。3.除此之外都是全域性的。注意1...