목표 : 디렉터리 구조와 일치하는 모든 파일을 수집하고 디렉터리 구조와 일치시킵니다.Rake FileList 제외 방법은 irb에서 작동하지만 rakefile에서는 작동하지 않습니다.
주름진 : 원하지 않는 성가신 디렉토리를 걸러 내고 고맙게도 '고의적으로 원하지 않는'이름으로 고를 필요가 있습니다. 무고한 사람을 보호하기 위해 실제 문자열이 변경되었습니다.
- 소스/DIR1/내용/스크립트 - 확인
- 소스/dir2는/디렉토리 subdir1/내용/스크립트 - 확인
- 소스/dir3/할-하지 싶다/내용/스크립트 - 음 ...
작품 아래의 스크립트를 원하지만 내가 필요는 없습니다 원하지 않는 경로에 대한 별도의 검사를 할 필요가 없습니다. 내가이 동일한 FileList를 irb에서 exclude로 테스트하면 원하는대로 작동합니다. 내 rakefile에서 나는 을 원하지 않는다. 디렉토리가 FileList에 의해 반환된다.
FileList['source/**/content/scripts'].exclude('do-not-want').each do |f|
unless /do-not-want/ =~ f #hmm why does the exclude above not actually exclude do-not-want directories?
Dir.chdir(f) do |d|
puts "directory changed to #{d} and copying scripts from #{d} to common directory #{target}"
FileUtils.cp_r('.', target)
end
end
end
분명히 나는 바보 같은 짓을하고 있습니다.
보너스 포인트 : 당신이 날 레이크/루비를 배우고 나에게 주름을 격파하면서 같은 목표를 달성하기 위해 더 나은 방법을 보여 수 있도록합니다.