0
@workingdir
아래에 일련의 zip 파일이 있고 @Regexp
과 일치하는 파일의 압축을 풀고 그 파일의 행을 인쇄하려고합니다. I는 tempFile.grep
을 시도하고, 그 grep
정의되지 않은 방법 이외에는 동일한 오류를 수신Ruby Regexp 작업에서 각각 정의되지 않은 메소드
NoMethodError: undefined method `each' for #<String:0x0000000168bf40>
from (irb):70:in `block (3 levels) in irb_binding'
from /var/lib/gems/1.9.1/gems/rubyzip2-2.0.2/lib/zip/zip.rb:1122:in `each'
from /var/lib/gems/1.9.1/gems/rubyzip2-2.0.2/lib/zip/zip.rb:1122:in `each'
from /var/lib/gems/1.9.1/gems/rubyzip2-2.0.2/lib/zip/zip.rb:1265:in `each'
from (irb):68:in `block (2 levels) in irb_binding'
from /var/lib/gems/1.9.1/gems/rubyzip2-2.0.2/lib/zip/zip.rb:1381:in `open'
from (irb):67:in `block in irb_binding'
from (irb):66:in `glob'
from (irb):66
from /usr/bin/irb:12:in `<main>'
:
require 'zip/zip'
@workingdir = '/my/dir/structure/*.zip'
@Regexp = '/yup:maybe.*nope/i'
Dir.glob(@workingdir) do |zips|
Zip::ZipFile.open(zips) do |file|
file.each do |search|
tempFile = file.read(search)
tempFile.each do |line|
if (line =~ @Regexp) then
p line
end
end
end
end
end
IRB는 아래의 에러 메시지이다. 클래스를 정의해야한다고 생각합니다.