Arrays Ruby数组使用readlines检查转换为数组的文本文件
我正在使用readlines将两个文本文件转换为一个数组Arrays Ruby数组使用readlines检查转换为数组的文本文件,arrays,ruby,Arrays,Ruby,我正在使用readlines将两个文本文件转换为一个数组 f1 = File.open('current_routes.txt') f2 = File.open('production_routes.txt') file1lines = f1.readlines file2lines = f2.readlines puts file1lines.inspect puts '' puts file2lines.inspect 这两个文件是彼此的完全复制和粘贴: ["DEPRECATION W
f1 = File.open('current_routes.txt')
f2 = File.open('production_routes.txt')
file1lines = f1.readlines
file2lines = f2.readlines
puts file1lines.inspect
puts ''
puts file2lines.inspect
这两个文件是彼此的完全复制和粘贴:
["DEPRECATION WARNING: Sprockets method `register_engine` is deprecated.\n", "Please register a mime type using `register_mime_type` then\n"]
["DEPRECATION WARNING: Sprockets method `register_engine` is deprecated.\r\n", "Please register a mime type using `register_mime_type` then\r\n"]
为什么第一个文件的检查会添加\n第二个文件的检查会添加\r\n
我试图比较文件的差异,这给我带来了麻烦
或者我应该继续打高尔夫。猜你在Windows机器上,副本正在添加\r\n。试试这个:
file1lines = f1.readlines.map(&:chomp)
file2lines = f2.readlines.map(&:chomp)
字符串#chomp将删除\n或\r\n。然后您可以比较字符串的其余部分。显然,这两个文件不是彼此的精确副本,而是具有不同的行尾。这可能是由于一个文件是linux服务器的实际输出,另一个文件是在Windows文本编辑器中复制粘贴的结果