Bir dosya adı dizim var, bu dosyaları değişiklik tarihine göre sıralamanın bir yolu var mı?Dosya dizisini oluştur ve tarihe göre sırala ruby
6
A
cevap
15
sort_by
yöntemini, belirtilen dosyanın son değiştirme zamanını döndüren File.mtime
yöntemiyle birlikte kullanabilirsiniz.
filenames.sort_by {|filename| File.mtime(filename) }
+2
Not 'sort_by', alıcıyı değiştirmez, bunun yerine yeni bir dizi döndürür. Dolayısıyla, sonucu doğrudan kullanmak istersiniz (örneğin,' names.sort_by {...} .each {...} ') veya sonucu kaydediniz (örneğin 'sıralanmış = names.sort_by {...}'). Ancak Ruby 1.9.2, diziyi yerinde değiştirmek için 'sort_by!' Özelliğini ekledi. – Phrogz
İlgili konular
- 1. Dosyaları tarihe göre sırala
- 2. PHP, çok boyutlu diziyi tarihe göre sırala
- 3. django zamana göre sırala
- 4. sırala 2 tarihe göre ActiveRecords - Tarih alanları RAYLI
- 5. Dosya listesi tarihe göre nasıl sıralanır?
- 6. Directory.GetFiles tarihine göre sırala
- 7. Ruby - string'i tarihe dönüştür
- 8. Tarihe göre bilgi ekleyin
- 9. Ayrıntılar tarihe göre listeleniyor
- 10. Ayırımcıya göre sırala - EF
- 11. Mutlak değere göre sırala
- 12. Listeye göre sırala art arda sırala sqlite
- 13. Vuruş sayısına göre sırala
- 14. MySQL- GROUP ve COUNT tarihe göre
- 15. Çoklu sütunlara göre sırala (Perl)
- 16. Elasticsearch bir alana göre sırala ve
- 17. SQLAlchemy: İki alana göre gruplandırma ve tarihe göre filtreleme
- 18. backbone.js: Modelleri güncelle, yeniden sırala ve yeniden oluştur modelleri koleksiyonu
- 19. NSFetchRequest tarihine ve ardından alfabetik sıraya göre sırala
- 20. Gruplama Pandaları DataFrame tarihe göre
- 21. Belgeleri geçerli tarihe göre sıralayın
- 22. Python listesini işleve göre sırala
- 23. Pandalar sütun değerine göre sırala
- 24. ArrayList'deki Setleri Boyutlara Göre Sırala
- 25. Maksimum duruma göre sırala eşleştirmesi
- 26. HashMap verilerini değerlere göre sırala
- 27. Sıralama dizisini lodash olarak sırala (tamsayı)
- 28. Nesneleri belirliliğe göre sırala AngularJS
- 29. Jekyll - sayfaları tamsayıya göre sırala
- 30. MySQL Dize Diline Göre Sırala
Kullanabileceğiniz iki değişiklik zamanı vardır. File.mtime' ile 'File.ctime' arasında ikisi arasında ince bir fark var. –
@theTinMan: 'File.ctime', dosyanın oluşturulmadığı, değiştirilmediği süreyi belirtir. –
Kesinlikle hayır. '" Adlandırılmış dosya için değişiklik süresini döndürür (dosyayla ilgili dizin bilgilerinin değiştirilme zamanı değil, dosyanın kendisi.) "' Yalnızca Windows dosya oluşturma tarihini destekler. * nix yalnızca değişiklik zamanlarını anlar. –