2010-02-22 7 views
12

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

तरह

रूबी में मैं अक्सर इस्तेमाल किया जाता हैश:

{ "एक" => 100, "बी" => 200}

: एरलांग में सबसे नज़दीकी चीज क्या है?

अद्यतन: मैं के बाद से पाया है यह:

http://20bits.com/articles/erlang-an-introduction-to-records/

रिकॉर्ड का उपयोग कर रहा है एक अच्छे उम्मीदवार?

+3

आपको अपने प्रश्नों के लिए एक विशिष्ट टैग बनाना चाहिए ... – Zed

+0

अच्छी सलाह, धन्यवाद ज़ेड – Zubair

+2

नीचे दिए गए उत्तरों के जवाबों को पढ़ने से, मैं सुरक्षित रूप से कह सकता हूं कि आप एक भयानक गलती कर रहे हैं। आप erlang में एक रूबी फ़ंक्शन कॉल idiom का उपयोग करना चाहते हैं क्योंकि आप erlang idioms से अपरिचित हैं ... ऐसा मत करो। आप जिस भाषा का उपयोग कर रहे हैं उसे जानें। – Dustin

उत्तर

14

proplist एस, dict एस, या gb_tree एस।

+1

प्रोपलिस्टों में सबसे अच्छा समान वाक्यविन्यास प्रतीत होता है। धन्यवाद जेड – Zubair

+1

प्रोपलिस्ट सिंटैक्स में समान हो सकते हैं, लेकिन यह हैश नहीं है। रैखिक लुकअप समय लेकिन स्थिर डालने हालांकि। संपादित करें: मुझे प्रश्न पढ़ना चाहिए, आप वास्तव में वाक्यविन्यास चाहते थे। =) – psyeugenic

+0

रैखिक लुकअप केवल कुछ हद तक तत्वों के साथ हैश के लिए तेज़ तरीका हो सकता है ... – Zed

3

यहाँ आप कर रहे हैं: dict - Key-Value Dictionary

पोस्ट स्क्रिप्टम: मैं 30 के दशक के भीतर इस googled है तो मुझे लगता है आप इस पूछ सवाल ;-)

संपादित से बच सकते हैं:

: मेरा उत्तर रक्षा करने के लिए

from_list (सूची) -> Dict

प्रकार:
सूची = [{कुंजी, मूल्य}]
डिक्ट = डिक्शनरी()

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

यह मेरे लिंक से उद्धरण है। तो आप हेशेस को उसी तरह बना सकते हैं जब आप प्रोपलिस्ट का उपयोग करते हैं।

+0

मैंने इसे Google किया और आपके द्वारा वर्णित वेब पेज में दूरस्थ रूप से समान रूप से कुछ भी नहीं है : {"ए" => 100, "बी" => 200} – Zubair

+3

मैंने सोचा कि आप कार्यात्मक समानता के बारे में पूछ रहे हैं, वाक्य रचनात्मक नहीं, क्योंकि मुझे लगता है कि हास्यास्पद समान वाक्यविन्यास की खोज करना है, केवल कोड लिखने के लिए दूसरी भाषा की तरह ही। –

+0

हां, आपका शायद सही है। यह अक्सर होता है जब मैं एरलांग फ़ंक्शन कॉल को देखता हूं, यह जानना मुश्किल होता है कि प्रत्येक पैरामीटर क्या है, और मुझे हमेशा रूबी हैश पसंद आया।लेकिन हाँ, मैं शायद गलत सवाल पूछता हूं। धन्यवाद – Zubair

6

ईटीएस और डीईटीएस टेबल एक धैर्य के विपरीत सच हैश टेबल हैं। डीईटीएस डिस्क भंडारण के लिए हैं जबकि ईटीएस स्मृति में हैं। वे मेनेसिया डेटाबेस के लिए बिल्डिंग ब्लॉक हैं।

+0

लेकिन ईटीएस या डीईटीएस किसी फ़ंक्शन में पैरामीटर में गुजरने के लिए कोई उपयोग है? – Zubair

+0

ज़रूर - लेकिन मुझे यकीन नहीं है कि आपका क्या मतलब है। नोट, हालांकि, वे अपरिवर्तनीय संरचना नहीं हैं, वे 'डाल' के बाद एक नई संशोधित प्रति वापस नहीं करते हैं। तो वे खतरनाक हो सकते हैं। लेकिन अगर आपको निश्चित रूप से हैश की गति और बड़े आकार की आवश्यकता है तो वे जाने का रास्ता हैं। –

9

Erlang R17A में मानचित्र डेटा संरचना शामिल होगी।

+0

आर 17 पहले से ही लाइव है। यहां बताया गया है कि हैशमैप्स कैसे erlang में काम करते हैं http://joearms.github.io/2014/02/01/big-changes-to-erlang.html – gextra

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