2013-08-29 26 views
5

bir vektör bir harita oluşturma Şöyle bir vektör vardır:Clojure

{"Config" "{}", "Auth" "{}", "Other" "{}"} 
: Her bir anahtar değer çifti alıp şu haritanın çevirmek istiyorum
["Config" "{}" "Auth" "{}" "Other" "{}"] 

Bunu Clojure ile nasıl yapabilirim? Bunu yapan bir işlev var mı?

+0

Zaten bir cevap aldım, (assoc {} ["Config" "{}" "Auth" "{}" "Diğer" "{}"]) 'komutunu uygulayın. Daha iyi bir tane var mı? –

cevap

6

Kullanım apply, vektöre istenilen tipte haritası yapıcısı uygulamak için yani:

(apply hash-map ["Config" "{}" "Auth" "{}" "Other" "{}"]) 

düzenlemek size {} değerlendirmek şekline bağlı olarak farklı harita tiplerini alabilirsiniz this answer göre

, bu yüzden harita kurucusunu ihtiyaçlarınız doğrultusunda kullanın. literal {} tarafından döndürülen this farklı nesne türleri baktığımızda

düzenlemek

bir hata gibi görünüyor.

+0

Teşekkür ederim, aferin! Soru sormak biraz daha uzun sürüyor, birinin bir şeyi kaçırması durumunda cevapları çok erken kabul etmekten hoşlanmıyorum. –

+1

"Eğer tam olarak ne demek istediğini taklit etmek istiyorsanız," hash-map "yerine" array-map "ifadesini kullanın. Halihazırda uygulandığı gibi, sabit anahtar ve değerlerle bir '{} 'ifadesi olan bir eşleme haritası da karma haritası olarak (bir dizi haritası olarak karışık bir şekilde değerlendirilmiş olsa da) ayrıştırılacaktır. '{: A 1,: b 2,: c 3} 'literalının anahtar sırasına uyulmadığını (1.5 sürümünde) unutmayın. –

+0

@ A.Webb '(x tipi) sonucuyla önerildim. O zaman neden farklı değerler veriyor? Bu kafa karıştırıcı değerlendirme nedeniyle? – soulcheck