那没有意义。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
进入您的命名空间。这适用于 1.8 和 1.9 ruby:
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"]
顺便说一句,可能是 Rake 在 1.9.3 中已经这样做了,这可以解释为什么它在 1.9.3 中而不是在 1.8.6 中这样做。我没有检查这个,但这是我能想到的唯一解释。
Rake 提供了自己的 FileUtils 扩展,称为Rake::FileUtilsExt
. 这个模块有一个verbose
标志。要激活它,只需将其添加到 Rakefile 的顶部:
Rake::FileUtilsExt.verbose(true)