0

我是 ruby​​ 和一般编码的初学者,我想知道你们是否可以帮助我。我的兄弟和我正在编写一个简单的 ruby​​ 代码,该代码将能够在大量文本文件中搜索某些数字。目前,我们一次只能搜索一个文本文件。这是我们到目前为止的代码:

puts "Drag your file to this window and press ENTER"
file_path = gets.chomp
puts "\nWhat is your target number?"
target_number = gets.chomp

# This will output the number of occurrences of your target number
file_text = File.read(file_path)
count = file_text.scan(target_number).count
puts "\n\nCount: #{count}"

gets

我的问题是,如何更改此代码以使其一次读取多个文本文件,而不是一次读取一个?

任何帮助是极大的赞赏!

4

1 回答 1

1

试试 Dir.glob 方法。例如:

files = Dir.glob('*.txt')
# => ['file1.txt', 'file2.txt']

然后你可以遍历它们:

count = 0
for file in files
  file_text = File.read(file)
  count += file_text.scan(target_number).count
end
puts "\n\nCount: #{count}"

祝你好运 :)

于 2013-10-09T22:23:01.893 回答