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

  • arnejann

    arnejann

    3 Kasım 2007
  • Droid Life

    Droid Life

    17 Kasım 2009
  • Official Clouds

    Official Clo

    1 HAZİRAN 2011