Dir.entries
が結果を返す固定/デフォルトソート順はありますか?最初の2つのエントリは"."
と".."
です。`Dir.entries`でソート順
答えて
Rubyの言語文書によると、Dir.entries()
はリストされたファイルの特定の順序を保証しないため、何らかの順序が必要な場合は明示的に自分自身で行うのが最善です。あなたは、ファイルの修正時刻(新しい順)にソートする必要がある場合は、次の操作を行うことができ例えば
、:
Dir.entries('.').sort_by { |x| File.mtime(x) }
私はデフォルトの並べ替え順はありませんが、Dir.entries('some_path_to_dir').sort
を使ってASC形式で並べ替えることができます。
こんにちは..ありがとうございます。私の質問の理由は、Dir.entries()が特定の順序(昇順 - 最終変更日)でデータを返すことを前提とした(仕事場のシステム内の)コードがすでに存在するからです。だから、私はそれに固執するか、それを変更して注文を確実にするかどうかはわかりませんでした。 –
@maerics'答えに拡大は、以下. && ..
、正規表現ベースのフィルタを無視します必要に応じて最新のファイルを選択します。
Dir.chdir(in_dir)
target_file = Dir.entries(in_dir).select(|x|
x != '.' &&
x != '..' &&
x =~ /\somefile.txt\z/).sort_by{|f|File.mtime(f)}.last(1)
puts "here i am #{target_file}"
ここに同じ疑いがあるかもしれない他の人のために。正規表現に一致するファイルのみを選択して、まだあなたが望むようにそれらを並べ替えることができるようにする方法は、次のとおりです。
files_sorted_by_date = Dir["your regex"].sort_by { |x| File.birthtime(x) }.reverse
または
あなたが望む方法に応じてfiles_sorted_by_date = Dir["your regex"].sort_by { |x| File.birthtime(x) }
ファイルを並べ替えます。
Dir.entriesメソッドを使用して同じことを行うことができませんでした
- 1. ソート順インデックスの降順
- 2. アルファベット順にアルファベット順にソート
- 3. msaccessソート順
- 4. ソート順は
- 5. Apache SOLRソート順
- 6. アルファベット順でargparseヘルプをソート
- 7. 昇順でのソート - sort()
- 8. HTML5のlocalStorageソート順
- 9. ソート順ファイルのxml
- 10. numpyで降順でソートするには?
- 11. 逆順で配列をソートする - 逆順でない
- 12. C++:ソート方法/アルファベット順
- 13. ソート名のアルファベット順にC
- 14. オブジェクトリストを日付順にソート
- 15. d3:ソートと昇順の差
- 16. アルファベット順にソートMYSQL結果「」
- 17. Sqliteの奇妙なソート順
- 18. Java for-eachループ:ソート順
- 19. ソートJSONはアルファベット順に
- 20. Mailchimp repeatable blocksソート順のリセット
- 21. ソート順の更新テーブル
- 22. Pythonで配列をアルファベット順にソート
- 23. Pythonでアルファベット順にcsvファイルをソート
- 24. Cでアルファベット順に名前をソート
- 25. 逆順でNSArrayをソートする
- 26. リストビューを名前で昇順にソート
- 27. ディクショナリとリストで異なるソート順序
- 28. key = operator.attrgetterソート順?私のDjangoのビューで
- 29. 昇順で整数をソートする - Java
- 30. 3回目のクリックで昇順/降順の列ソートのリセット
または '.sort_by {| a | File.stat(a).mtime} 'を実行して、いくつかの' stat'呼び出しをスキップします。 –
または '.sort_by {| a | File :: Stat'の割り当てをスキップします。 – cremno