[英]Parsing text files and sorting in Ruby?
我想編寫一個Ruby程序,該程序可以解析三個單獨的文本文件,每個文件包含不同的定界符,然后根據特定條件對它們進行排序。
有人可以指出正確的方向嗎?
目前尚不清楚文件中的數據格式是什么,以及用於排序的標准,所以我無法為您提供准確的答案。
但是,基本上,您可能需要這樣的東西:
File.open("file_name","r").read.split(",").sort_by {|x| x.length}
您:
File.open
打開文件。 each
方法逐行讀取文件。 split
拆分字符串。 所使用的分隔符,
。 sort_by
根據塊中指定的條件對它們進行排序。 Enumerable#sort_by將允許您使用特定的比較函數對數組(或其他可枚舉的對象)進行排序。
如果“帶有分隔符的文本文件”是指CSV文件(字符分隔值),則可以使用標准庫中的csv
庫來解析它們。 CSV為您提供外觀和感覺都像Ruby Hash
和Array
的對象,因此您可以使用所有標准Ruby方法進行排序,過濾和迭代,包括上述Enumerable#sort_by
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.