1

次のrakefileがありますSRC = FileList['md/*.md']が、いくつかのファイルを除外したい

私が試してみました

SRC = FileList['md/*.md'].exclude("md/header.md")
SRC = FileList['md/*.md'].exclude(/header/)
SRC = FileList['md/*.md'].exclude(/header.md$/)

しかし、うまくいきません。常にすべてのファイルを一覧表示してください

例:

rakefile.rb の代わりに、次の内容のディレクトリ md があります。

rakefile.rb
md/
  index.md
  example.md
  header.md

header.md なしですべて一覧表示したい

4

2 に答える 2

2

これは私にとってはうまくいきます:

p FileList['md/*.md']
#=> ["md/example.md", "md/header.md", "md/index.md"]

p FileList['md/*.md'].exclude("md/header.md")
#=> ["md/example.md", "md/index.md"]

p FileList['md/*.md'].exclude(/header/)
#=> ["md/example.md", "md/index.md"]

p FileList['md/*.md'].exclude(/header.md$/)
#=> ["md/example.md", "md/index.md"]
于 2011-11-28T18:18:13.780 に答える
0

何が起こっているのかわからない。おそらく、使用しているのはRakeやrubyのバージョンですか?

スニペットをruby-1.8.7(rake0.8.7およびrake0.9.2.2)およびruby-1.9.2(rake0.8.7およびrake0.9.2.2)でテストしました。4つの構成すべてで、期待される出力が得られます。

コード:

puts "no exculde:"
puts FileList['md/*.md']
puts '---'
puts "exclude('md/header.md'):"
puts FileList['md/*.md'].exclude('md/header.md')
puts '----'
puts "exclude(/header/):"
puts FileList['md/*.md'].exclude(/header/)
puts '----'
puts "exclude(/header.md$/):"
puts FileList['md/*.md'].exclude(/header.md$/)

出力:

no exculde:
md/example.md
md/header.md
md/index.md
---
exclude('md/header.md'):
md/example.md
md/index.md
----
exclude(/header/):
md/example.md
md/index.md
----
exclude(/header.md$/):
md/example.md
md/index.md
于 2011-11-28T19:17:58.397 に答える