我想编写一个Ruby程序,它可以解析三个单独的文本文件,每个文件包含不同的分隔符,然后根据特定条件对它们进行排序。
有人可以指出我正确的方向吗?
答案 0 :(得分:8)
目前尚不清楚文件中的数据格式是什么,以及您用于排序的标准,因此我无法为您提供准确的答案。
但是,基本上,你可能需要这样的东西:
File.open("file_name","r").read.split(",").sort_by {|x| x.length}
您:
File.open
打开文件。each
方法逐行读取文件。split
。使用的分隔符为,
。sort_by
根据块中指定的条件对其进行排序。答案 1 :(得分:2)
Enumerable#sort_by将允许您使用特定的比较函数对数组(或其他可枚举对象)进行排序。
答案 2 :(得分:0)
如果“带有分隔符的文本文件”是指CSV文件(字符分隔值),那么您可以使用csv
library(它是标准库的一部分)来解析它们。 CSV为您提供外观和感觉类似于Ruby Hash
es和Array
的对象,因此您可以使用所有标准Ruby方法进行排序,过滤和迭代,包括前面提到的Enumerable#sort_by
。< / p>