2010-11-29 12 views
15

Aşağıdaki veri yapısı vardır:Başka bir haritada bir harita oluşturdunuz mu?

{:file #<File /foo.bar>, :resolution {:width 1280, :height 1024}} 

Ben width ve height sembolleri haline :resolution anahtarını destructures bir işlevi yazmak istiyorum.

Bir şey imha etme ile mümkün mü?

Teşekkürler.

cevap

18

Önce destructure gerekir: çözünürlük, daha sonra almak genişlik ve yükseklik:

{{:keys [width height]} :resolution} 
+0

nasıl aynı haritanın iki farklı iç içe anahtarları içinden destructure olabilir? Örneğin. '{{: keys [ab]}: sorgu-params}' ve '{{: keys [cd]}: path-params}' eşzamanlı olarak, aynı istek haritasından –

+2

Sadece bunları aynı '{}': '{{: anahtarlar [ab]}: sorgu-params {: anahtarlar [cd]}: yol-params} – Arjan

4
(defn to-directory-name [{{width :width height :height} :resolution}] 
    (str width "x" height)) 

Benim için çalışır.

İlgili konular