這是沒有意義的。除非明確告知,否則1.9.3不應該做:verbose
。你可以看一下的mkdir
實施在1.9.3的lib例如:
def mkdir(list, options = {})
fu_check_options options, OPT_TABLE['mkdir']
list = fu_list(list)
fu_output_message "mkdir #{options[:mode] ? ('-m %03o ' % options[:mode]) : ''}#{list.join ' '}" if options[:verbose]
return if options[:noop]
list.each do |dir|
fu_mkdir dir, options[:mode]
end
end
在那裏,你可以看到,不產生消息,除非明確提供的:verbose
選項。
但是要啓用:verbose
跨所有FileUtils
方法,您可以將include FileUtils::Verbose
簡單地插入到您的名稱空間中。 BTW
irb(main):001:0> RUBY_VERSION
=> "1.8.7"
irb(main):002:0> include FileUtils::Verbose
=> Object
irb(main):003:0> mkdir 'fooof'
mkdir fooof
=> ["fooof"]
,它可能是瑞克已經這樣做了在1.9.3,這可以解釋爲什麼它做什麼,它在1.9.3,而不是在1.8.6:這個工作在兩個1.8和1.9紅寶石。我沒有檢查,但這是我能想到的唯一解釋。
Rake提供了自己的FileUtils擴展名爲Rake::FileUtilsExt
。該模塊有一個verbose
標誌。要激活它,只需將其添加到Rakefile的頂部:
Rake::FileUtilsExt.verbose(true)
確實,verbose是Ruby 1.9.3中Rakefiles的默認值。而'包含FileUtils :: Verbose'不能解決這個問題。 https://github.com/morgant/tools-osx/pull/10#issuecomment-3457844 – 2012-01-12 18:46:35
@大衛 - 看到我的更新在我的答案底部。給那一槍。 – Casper 2012-01-12 20:00:32