在此示例中创建可重用读取方法的最佳方法是什么。我有两块代码共同做两件事,读取文件并检查某个正则表达式模式。我想用一个单独的方法将这两个任务分开,以便我可以重用它。我开始重构但它不起作用,我仍在学习如何有效地使用块。有人可以告诉我最好的方法吗?先感谢您。
方法1
File.readlines(file) do |line|
if line.match(/@/)
line.split.each do |word|
if word.include?("@")
puts word
end
end
end
方法2
File.readlines(file) do |line|
if line.match(/$hello/)
line.split(',').each do |word|
puts word.split('.')[0][0..6]
end
end
end
重用方法
def read_file file, pattern
File.readlines(file) do |line|
if line.match (pattern)
#not sure what to return here
end
end