我是红宝石和编码的初学者,我想知道你们是否可以帮助我。我和我的兄弟正在研究一个简单的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
我的问题是,如何更改此代码,以便一次读取多个文本文件而不是一次读取一个文本?
非常感谢任何帮助!
答案 0 :(得分: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}"
祝你好运:)