में Enums मैं Elixir में एक enum बनाना चाहता हूँ। क्या यह संभव है? Enum से मेरा मतलब सी/सी ++ या रूबी या कई अन्य भाषाओं में enums है। मुझे Enum
मॉड्यूल के बारे में पता है लेकिन यह केवल एक मॉड्यूल है - मूल रूप से कार्यों के लिए एक कंटेनर।Elixir
Elixir
उत्तर
आप केवल परमाणुओं का उपयोग कर सकते हैं। स्थिर विश्लेषण के लिए, आप एक प्रकार को परिभाषित कर सकते हैं जो केवल कुछ मान स्वीकार करता है और आपके टाइपपेक्स में इसका उपयोग करता है। उदाहरण के लिए आप dialyxir के साथ अपना कोड देख सकते हैं।
@type state :: :a | :b | :c
@spec set_state(pid, state) :: :ok | {:error, term}
def set_state(pid, state)
# ...
end
@spec get_state(pid) :: state
def get_state(pid)
# ...
end
यह एक पुस्तकालय है, मैं पुस्तकालय का उपयोग नहीं करना चाहता। –
हालांकि यह सिर्फ एक विकास उपकरण है, आपको रनटाइम पर इसकी आवश्यकता नहीं है और यह संकलित कोड में कोई निशान नहीं छोड़ेगा। –
यदि मैं आपको सही ढंग से समझता हूं, तो आप एलिक्सीर में गणना का उपयोग करने का एक तरीका ढूंढ रहे हैं। आप इसे मानचित्र के उदाहरण के साथ कर सकते हैं: परमाणुओं के रूप में परमाणु।
weekdays = [:monday, :tuesday, :wednesday, :thursday, :friday, :saturday, :sunday]
|> Enum.with_index
|> Map.new
या थोड़ा अधिक मैन्युअल
weekdays = %{
monday: 0,
tuesday: 1,
wednesday: 2,
thursday: 3,
friday: 4,
saturday: 5,
sunday: 6}
आप उपयोग कर रहे हैं: कुंजी के रूप में परमाणुओं, लघु हाथ पहुँच वाक्य रचना है:
iex> weekdays.monday
0
iex> weekdays.friday
4
लेकिन आम तौर पर इस तरह के रूप परमाणुओं का उपयोग कर : त्रुटि या: ठीक है आपको इन घोषणाओं को करने की आवश्यकता नहीं है।
हां .............. –
मुझे लगता है कि संक्षिप्त उत्तर संख्या है। अगर एनम द्वारा, आप का मतलब है कि एक स्थिर उपयोगकर्ता संकलित समय पर लागू प्रकार परिभाषित किया गया है, (यानी सी enums), तो उत्तर निश्चित रूप से नहीं है।
लंबा उत्तर यह है कि एलिक्सीर/एरलांग के अंतर्निहित वीएम में केवल कुछ निश्चित डेटा प्रकार हैं। मूल डेटा प्रकार हैं:
[Atom, Integer, Float, BitString, Regexp, PID, Function, Reference, Port]
और 3 कंटेनर प्रकार।
[Tuple, List, Map]
आप बहुत जटिल डेटा संरचनाओं बनाने के लिए इन प्रकार बना सकता है, लेकिन अगर आप उन बना प्रकार के व्यवहार के लिए "नियम" लागू करना चाहते हैं, तो आप उन प्रकार के जोड़ तोड़ के लिए एक पुस्तकालय या कार्यों का मॉड्यूल बनाने की जरूरत नियमों के अनुसार।
चूंकि इलीक्सिर एक गतिशील भाषा है, इसलिए किसी भी जटिल डेटा प्रकार में "पहुंचने" और पूरी तरह से इसे बदलने के लिए हमेशा संभव है। मूल्यों पर नियमों को लागू करने का कोई तरीका नहीं है जबतक कि आप परिभाषित कार्यों के एक सेट के माध्यम से ऐसा नहीं करते हैं। मेरा अनुमान है कि आप जो खोज रहे हैं वह FixedSet
प्रकार है जो मूल्यों की पूर्व परिभाषित सूची से मूल्य ले सकता है। यह एक मॉड्यूल के रूप में लागू करने के लिए अपेक्षाकृत सरल होगा, लेकिन कार्यों का एक मॉड्यूल लिखना (और संभवतः कुछ मैक्रोज़) एलीक्सिर में उस तरह की कार्यक्षमता को पूरा करने का एकमात्र तरीका है।
- 1. Elixir
- 2. elixir
- 3. elixir
- 4. Elixir
- 5. elixir
- 6. Elixir
- 7. elixir
- 8. Elixir
- 9. Elixir
- 10. फीनिक्स/elixir
- 11. SQLAlchemy/Elixir
- 12. एम्बेडेड Elixir
- 13. वितरित Elixir उदाहरण
- 14. एंडॉइंट.एक्स फ़ाइल फीनिक्स elixir
- 15. Elixir एप्लिकेशन कैसे चलाएं?
- 16. Laravel elixir Sass त्रुटि
- 17. लिनक्स पर Laravel elixir
- 18. क्या करता है? Elixir
- 19. elixir इकाई परीक्षण
- 20. sqlalchemy और elixir
- 21. फोएनिक्स फ्रेमवर्क (elixir)
- 22. Elixir और Ecto
- 23. Elixir macros और bind_quoted
- 24. पर्यवेक्षक उपलब्ध नहीं है - Elixir
- 25. एसक्लाक्लेमी घोषणात्मक विस्तार बनाम elixir
- 26. मैं एक साधारण elixir स्क्रिप्ट में एक elixir पुस्तकालय कैसे लोड करूं?
- 27. Elixir iex प्रॉम्प्ट को रंगीन कैसे करें?
- 28. Elixir - कोशिश/पकड़ बनाम कोशिश/बचाव?
- 29. elixir में "|>" का क्या अर्थ है?
- 30. "!", "?", "_", और "।" का क्या अर्थ है elixir
आपको [सूची] (http://elixir-lang.org/getting-started/basic-types.html#linked-lists) के साथ [एनम मॉड्यूल] के साथ एक आवश्यकता है [http: // elixir -lang.org/getting-started/enumerables-and-streams.html#enumerables)। एर्लिक्स जैसे एलीक्सिर एक कार्यात्मक प्रोग्रामिंग भाषा है जो अपरिवर्तनीय डेटा प्रकारों के साथ है, इसलिए आप एक सूची से शुरू होते हैं, ट्रांसफॉर्मेशन लागू करते हैं (एनम या स्ट्रीम मॉड्यूल के माध्यम से) और फिर आप आउटपुट का उपयोग कर सकते हैं हालांकि आप निर्णय लेते हैं। –
रूबी में enums द्वारा आपका क्या मतलब है? रुबी में संख्यात्मक और गणनाकर्ता है जो सी या सी ++ में 'एनम' से बिल्कुल अलग है। – Dogbert