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. アルファベット順にアルファベット順にソート
- 4. msaccessソート順
- 5. Apache SOLRソート順
- 6. 表のソート順:
- 7. Elasticsearchのソート順
- 8. ソート順は
- 9. ソート順SQL
- 10. アルファベット順でargparseヘルプをソート
- 11. 昇順でのソート - sort()
- 12. HTML5のlocalStorageソート順
- 13. ソート順ファイルのxml
- 14. Bitwise Enumのソート順
- 15. C++ポインタ配列をソート順にソート
- 16. How to - 削除後のソート順のソート
- 17. numpyで降順でソートするには?
- 18. C++での降順での挿入ソート
- 19. 逆順で配列をソートする - 逆順でない
- 20. ソート名のアルファベット順にC
- 21. アルファベット順のテーブルビューの再ソート
- 22. Rubyの配列のソート順
- 23. 配列を月順にソート
- 24. オブジェクトリストを日付順にソート
- 25. typescript配列ランダムソート順のソート
- 26. のlocalStorageソート順は値
- 27. C++:ソート方法/アルファベット順
- 28. ソートJSONはアルファベット順に
- 29. 日付順にソートする
- 30. Sqliteの奇妙なソート順
または '.sort_by {| a | File.stat(a).mtime} 'を実行して、いくつかの' stat'呼び出しをスキップします。 –
または '.sort_by {| a | File :: Stat'の割り当てをスキップします。 – cremno