Biraz tıkanıklık hissediyor. Daha aptalca bir yolu var mı?Ruby'de bir dizi oluşturmak veya eklemek için Ruby
cevap
(foo ||= []) << :element
Ama meh. Okumak için gerçekten çok mu zor?
+1 için "Bunu okunabilir tutmak gerçekten çok mu zor?" Okunabilirlik kraldır. –
Eğer 'foo', değerlere baktığınız (iç içe) bir karma gibi daha karmaşık bir ifade ise, bu, değerleri bir defaya bakmaktan veya bakılan dizi değeri için başka bir değişken harcamamaktan hoşlanır. – sschuberth
İtme yöntemini her zaman herhangi bir dizide de kullanabilirsiniz. Daha çok beğendim.
(a ||= []).push(:element)
Ayrıca gibi Kernel#Array yararlanabilecek:
gibi, potansiyel bir dizi düzleştirme yararı vardır# foo = nil
foo = Array(foo).push(:element)
# => [:element]
:
# foo = [1]
foo = Array(foo).push(:element)
# => [1, :element]
- 1. Ruby Model için Dizi Özniteliği
- 2. pandalar n elemanları ile bir dizi oluşturmak (sıralı veya randbetween)
- 3. Metinden grafik oluşturmak için Ruby kütüphanesi mi?
- 4. Ruby Dizi sınırı yöntemi
- 5. C# Dizi Harita/Ruby
- 6. Dizi öğeleri eklemek/kaldırmak için RESTful API son noktası?
- 7. Dinamik bir dizi oluşturmak ve dinamik bir dizi oluşturabilir elemanları
- 8. Ruby grep - bir dizinin parçaları için bir dizi aranıyor
- 9. Bir dizi sırayı PDO'ya eklemek için nasıl geçmeli?
- 10. Yapılandırma özellikleri bir dizi/liste oluşturmak için aynı anahtarı kullanarak
- 11. div oluşturmak ve döngüler için döngüler için içine ilaveler eklemek
- 12. Konsol tabanlı bir uygulama oluşturmak için hangi Ruby kütüphanelerini kullanmalıyım?
- 13. Yüce Metin 2 için bir eklenti oluşturmak için Ruby hata ayıklayıcısına program aracılığıyla nasıl bağlanır?
- 14. Eklemek veya güncelleştirilmiş
- 15. Ruby döngü yapmak bir dizi/karma
- 16. izotlines ve/veya yön alanı eklemek için
- 17. Bir dizi yapısal örneği oluşturmak mümkün mü?
- 18. sqlalchemy eklemek veya güncellemek için kolay yolu?
- 19. Android'in ArrayAdapter - dizeleri liste görünümü eklemek yerine bu ben liste görünümü için bir dizi eklemek nasıl
- 20. Bir dizi içinde tarih aralığı, ruby
- 21. Bir dizide iki öğe eklemek ve bir matris oluşturmak için numpy nasıl kullanılır?
- 22. Paralel işlem oluşturmak için Ruby on Rails çatalı kullanımı
- 23. Nasıl programlanır filer.fields.image.FilerImageField doldurmak veya oluşturmak için?
- 24. Yeni bir dizi oluştur veya sayıcıyı artır
- 25. C1 veya C2 kapsama alanı için ruby
- 26. aksi bash oluşturmak Varlığından eğer eklemek, bir dosya yazma
- 27. Python - 'ile' bir yapı oluşturmak. Bir dizi dizeden
- 28. pandalar dataframe: eklemek ve bir dataframe için bir önek/sonek eklemek için tüm dataframe
- 29. Node.js/Express.j veya Ruby on Rails bir ABSOLUTE acemi için
- 30. Nasıl saf ruby kullanarak işaretleme PDF oluşturmak
Bu ** olduğunu ** deyimsel yol. Bunu tek satır olarak yapabilirsiniz (foo || = []) <<: element', ama ben çirkin buluyorum. –
IMO'nun uygun yolu başlangıç değerlerine sahip olmaktır. Aynı yöntemde aynı değişken için || = ve << varsa, IMO'nuz bir kod kokusuna sahip olur ve zaten yanlış bir şey yapmış olursunuz. Nasıl yapılacağını sorma || = << güzelce sadece gerçek problemi düzeltmek yerine kozmetik yapıyor. – apeiros