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

  • ehowhome

    ehowhome

    22 NİSAN 2009
  • hotstrikegently

    hotstrikegen

    26 AĞUSTOS 2011
  • KoreanFrogMania님의 채널

    KoreanFrogMa

    18 Aralık 2011