2014-10-04 12 views
5

में एक शब्दकोश प्रकार की जांच कैसे करूं, मैं यह जांचना चाहता हूं कि एलिक्सीर में किसी फ़ंक्शन को दिए गए पैरामीटर का प्रकार एक शब्दकोश है या नहीं। मैं यह कैसे करु?मैं एलिक्सीर

उत्तर

2

पहले आप उस अमृत
map = %{}

  • elixirs ही एक बड़े समूह के साथ शब्दकोश प्रकार (शब्दकोशों (केवल सीमित वस्तुओं के साथ नक्शे के लिए) 2 शब्दकोश प्रकार

    • erlangs देशी मानचित्र प्रकार का समर्थन करता है के बारे में पता होना चाहिए पेलोड)
      dict = HashDict.new

    दोनों प्रकार तथापि erlangs के साथ जांच की जानी चाहिए मूल :erlang.is_map

    def some_fun(arg) when :erlang.is_map(arg) do 
        #do your thing 
    end 
    

    और जानकारी वर्गों 7.2 और 7,3 (http://elixir-lang.org/getting_started/7.html)

  • +1

    HashDict के तहत पाया जा सकता है के लिए सही वापस आ जाएगी: बस, क्योंकि यह एक struct है erlang.is_map/1। यदि आप चलाते हैं तो आप उदाहरण के लिए सच हो जाएंगे: erlang.is_map (% URI {})। यूआरआई एक संरचना भी है, लेकिन यह सच हो जाएगा। आप अगर यह एक HashDict आप कुछ इस तरह के साथ इस पर पैटर्न मैच चाहिए जाँच करना चाहते हैं: डीईएफ़ some_fun (आर्ग =% HashDict {}), कार्य करें: ... आप और अधिक यहाँ देख सकते हैं: https: //github.com/elixir-lang/elixir/blob/master/lib/elixir/lib/hash_dict.ex#L40 – Eduardo

    +0

    स्पष्टीकरण के लिए धन्यवाद – robkuz

    संबंधित मुद्दे