Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Ruby数组使用readlines检查转换为数组的文本文件_Arrays_Ruby - Fatal编程技术网

Arrays Ruby数组使用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

我正在使用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 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文本编辑器中复制粘贴的结果