簡體   English   中英

解析文本文件並在Ruby中排序?

[英]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 HashArray的對象,因此您可以使用所有標准Ruby方法進行排序,過濾和迭代,包括上述Enumerable#sort_by

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM