SORU
28 Ocak 2011, Cuma


Nasıl bir vektör bir öğenin dizin bulabilirim?

Herhangi bir fikir ne ???? olmalıdır? Bir inşa var mı? Bu görevi başarmak için en iyi yolu ne olurdu?

(def v ["one" "two" "three" "two"])

(defn find-thing [ "two" v ]
  (????))

(find-thing "two" v) ; ? maybe 1, maybe '(1,3), actually probably a lazy-seq

CEVAP
28 Ocak 2011, Cuma


-Dahili:

user> (def v ["one" "two" "three" "two"])
#'user/v
user> (.indexOf v "two")
1
user> (.indexOf v "foo")
-1

Eğer isterseniz tüm endeksleri tembel bir seq etti

user> (map-indexed vector v)
([0 "one"] [1 "two"] [2 "three"] [3 "two"])
user> (filter #(= "two" (second %)) *1)
([1 "two"] [3 "two"])
user> (map first *1)
(1 3)
user> (map first 
           (filter #(= (second %) "two")
                   (map-indexed vector v)))
(1 3)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ColdfusTion

    ColdfusTion

    3 Aralık 2007
  • funbro1

    funbro1

    11 Aralık 2007
  • Malwarebytes

    Malwarebytes

    22 Temmuz 2007