Scala: Seçenekle anlama için

0

Soru

Bazı öğeleri sıralamak için bir Seçeneğim var:

Option[Seq[MyItem]]

Myıtem'in bir 'açıklama'alanı var

Öğelerden birinin belirli bir açıklaması olup olmadığını bulmam gerekiyor.

Anlamak için nasıl yapılabilir?

scala
2021-11-23 12:01:45
1

En iyi cevabı

2

Herhangi bir öğenin olup olmadığını test etmek istiyorsanız Option[Seq[MyItem]] belirli bir açıklaması varsa, bunu yapabilirsiniz.

opt.exists(_.exists(_.description == ???))

Gerçekten kullanan bir çözüme ihtiyacınız varsa for o zaman sana yardım edemem :)

2021-11-23 12:20:57

Aslında şu anda bunu yapıyorum. Ama korkarım okunabilirlik o kadar iyi değil, bu yüzden kavrayışlar arıyordum. Ancak, ilk jeneratörün başa çıkma seçeneği olduğunda kavrayışlar işe yaramıyor gibi görünüyor.
Mandroid

Okunabilirlik kitleye bağlıdır, ancak yetkili bir Scala programcısı için exists sürüm çok açık. for bir koleksiyonun diğerine işlenmesi için uygundur, ancak bu görev bir koleksiyondan tek bir değer üretmektir. İhtiyacın olan bir fold veya collect operasyon ama bu daha net olmayacak exists.
Tim

Tek bir anlama için Option[Seq[MyItem]] çalışmaz. Ancak üzerinde çalışacak Seq[Option[MyItem]]. Sadece @Tim tarafından belirtildiği gibi exists\fold\collect kullanın
gatear

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................