我有許多的日誌文件,每個文件包含像這樣的一行:紅寶石檢查是否字符串包含子
THIS LINE IS DIFFERENT CASE_WINDOWS_TEST_00 PASSED
我在尋找,如果行包含「_XXX_TEST_」字符串。我創建的哈希:
@@groups = {
"_LINUX_TEST_" => "Linux_tests",
"_WINDOWS_TEST_" => "Windows_tests"
}
要檢查行包含(從@@基團的鍵)的子我實現它返回從@@基團的值的方法get_group_name。
def get_group_name(searchLine)
@@groups.keys.each do |i|
if searchLine.include? i
return @@groups[i]
end
end
end
它工作正常,返回適當的值。我在另一個遍歷整個日誌文件的方法中使用這個方法。
def get_group_name_from_file(fileName)
# fileName - filename or path to the file.txt
file = File.open(fileName)
while (line = file.gets)
found = get_group_name(line)
if found
return found
end
end
end
這就是問題所在。方法get_group_name_from_file返回來自@@組哈希的密鑰列表,而不是一個字符串(來自該哈希的值)。
無法重現 –