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

  • Jason Rosolowski

    Jason Rosolo

    25 EKİM 2006
  • TheFlightsuit

    TheFlightsui

    22 HAZİRAN 2009
  • YAN TV

    YAN TV

    20 EKİM 2011