&Quot;deyimsel Scala bir şekilde kaldırmak" değişmez bir listeden bir element nedir? | Netgez.com
SORU
12 NİSAN 2011, Salı


&Quot;deyimsel Scala bir şekilde kaldırmak" değişmez bir listeden bir element nedir?

Eşit olarak karşılaştırmak olacak unsurları içeren bir Liste var. Benzer bir Liste, ama bir eleman kaldırılmasını istiyorum. Yani (A, B, C, B, D) "kaldırmak" sadece bir B örneğin (A, B, C, D). almak için mümkün olmak istiyorum Sonuç elemanlarının sırası önemli değildir.

Scala çalışan kod, Lisp esinlenen bir şekilde yazdım. Orada daha deyimsel bir yoldur bunu yapmak için?

İçerik bu kadar standart kartları iki deste oyun olduğu bir kart oyunu. kartları yinelenen olabilir ama yine de bir seferde bir oynadı.

def removeOne(c: Card, left: List[Card], right: List[Card]): List[Card] = {
  if (Nil == right) {
    return left
  }
  if (c == right.head) {
    return left ::: right.tail
  }
  return removeOne(c, right.head :: left, right.tail)
}

def removeCard(c: Card, cards: List[Card]): List[Card] = {
  return removeOne(c, Nil, cards)
}

CEVAP
12 NİSAN 2011, Salı


Yani yukarıdaki cevaplar: bu olasılık görmüyorum

scala> def remove(num: Int, list: List[Int]) = list diff List(num)
remove: (num: Int,list: List[Int])List[Int]

scala> remove(2,List(1,2,3,4,5))
res2: List[Int] = List(1, 3, 4, 5)

Düzenleme:

scala> remove(2,List(2,2,2))
res0: List[Int] = List(2, 2)

Bir cazibe gibi :-).

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • After Effects Tutorials w/ Mikey

    After Effect

    24 HAZİRAN 2009
  • ICON

    ICON

    19 EKİM 2011
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011