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

  • emimusic

    emimusic

    10 Mart 2006
  • The Scary Snowman

    The Scary Sn

    1 ŞUBAT 2011
  • Toddler Fun Learning

    Toddler Fun

    8 ŞUBAT 2013