Option
s ürününü List
ürününe eklemek için en iyi yol nedir?Listeleme Seçenekleri ekleme
def append[A](as: List[A], maybeA1 : Option[A], maybeA2: Option[A]) : List[A] = as ++ maybeA1.toList ++ maybeA2.toList
Con: Burada
benim ilk denemede oluşturduğu 2 tmpList
(I .toList (biliyorum) [A] iterable için Seçenek bir örtük dönüştürme olduğundan isteğe bağlıdır [A])
başka deneyin ortalama
def append2[A](ls: List[A], maybeA : Option[A]) : List[A] = maybeA.map(_ :: ls).getOrElse(ls)
def append[A](as: List[A], maybeA1 : Option[A], maybeA2: Option[A]) : List[A] = append2(append2(as, maybeA1), maybeA2)
Daha iyi f ama daha az okunabilir…
Başka bir yolu var mı? Eklemek birçok seçenek, binlerce daha yakın, ben daha az sayıda düşünmek varsa
Neden List [A] olarak Birini [A] eklemek istiyoruz. Tabii ki eklemeye değer bir şey olup olmadığını görmek ister misin? –
Listenin sonuna eklemeyin. – ziggystar
Evet, Stack Overflow'ta o adam olmaktan nefret ediyorum, ama eğer sonuna kadar eklediğinizi buluyorsanız, şu soruyu sormaya değer: “List” 'ü kullanmanın bir nedeni var mı?)? –