में पहले से परिभाषित नहीं किया गया है, क्या एक चर को असाइन करने के लिए सरल जूलिया सिंटैक्स है यदि यह अपरिभाषित (या झूठा) है? मेरा मतलब रूबी के x ||= NEW_VALUE
जैसा कुछ है। मैंने x || x=NEW_VALUE
की कोशिश की है लेकिन यह एक त्रुटि फेंकता है। आसान वाक्यविन्यास को छोड़कर, यह जांचने के लिए कि मैं एक चर परिभाषित किया गया है, मैं किस फ़ंक्शन का उपयोग कर सकता हूं?केवल तभी निर्दिष्ट करें जब जूलिया
13
A
उत्तर
24
आप isdefined
फ़ंक्शन का उपयोग कर सकते हैं: isdefined(:x) || (x = NEW_VALUE)
।
2
मैंने उस छोटी सी असुविधा से निपटने के लिए एक मैक्रो तैयार किया है।
macro ifund(exp)
local e = :($exp)
isdefined(e.args[1]) ? :($(e.args[1])) : :($(esc(exp)))
end
फिर आरईपीएल में
:
julia> z
ERROR: UndefVarError: z not defined
julia> @ifund z=1
1
julia> z
1
julia> z=10
10
julia> @ifund z=2
10
julia> z
10
प्रक्षेप का एक उदाहरण:
julia> w
ERROR: UndefVarError: w not defined
julia> w = "$(@ifund w="start:") end"
"start: end"
julia> w
"start: end"
लेकिन, गुंजाइश की याद (y
के दायरे में है के लिए लूप):
julia> y
ERROR: UndefVarError: y not defined
julia> for i=1:10 y = "$(@ifund y="") $i" end
julia> y
ERROR: UndefVarError: y not defined
चलो मुझे पता है कि यह काम करता है। मैं उत्सुक हूं, क्योंकि यह मैक्रोज़ के साथ मेरा पहला अभ्यास है।
संबंधित मुद्दे
- 1. केवल तभी निष्पादित करें जब विज़िटर वेबपृष्ठ
- 2. केवल तभी लॉकिंग जब संपूर्ण विधि बनाम
- 3. हाई मेमोरी उपयोग केवल तभी जब मल्टीप्रोसेसिंग
- 4. केवल तभी सत्य लौटें जब रूबी
- 5. jQuery, लोडिंग पृष्ठ div केवल तभी प्रदर्शित करें जब पेज
- 6. JQuery चेकबॉक्स का मान केवल तभी प्राप्त करें जब
- 7. केवल तभी सेट करें जब टैब सक्रिय हो
- 8. केवल तभी शामिल करें जब फ़ाइल मौजूद है
- 9. लोचदार खोज थोक सूचकांक - केवल तभी अपडेट करें जब
- 10. जूलिया: निर्दिष्ट आयाम
- 11. वेबपैक संकलित केवल तभी
- 12. फ्लुएंट एनएचबेर्नेट - डेटाबेस स्कीमा केवल तभी बनाएं जब मौजूदा
- 13. कैसे और जब जूलिया
- 14. Qt mouseMoveEvent केवल तभी जब माउस बटन दबाया जाता है
- 15. फायर आरएक्सजेवा घटना केवल तभी बदलती है जब Fragment ViewPager
- 16. फ़ील्ड केवल तभी जरूरी है जब फॉर्म नया है?
- 17. सनस्पॉट इंडेक्स केवल तभी जब खोज योग्य फ़ील्ड
- 18. रेलिंग समावेशन सत्यापन केवल तभी चल रहा है जब उपस्थिति
- 19. d3.js ज़ूमिंग केवल तभी काम करता है जब ग्राफ
- 20. स्क्रॉल UITableView केवल तभी जब सामग्री फिट नहीं होती
- 21. ट्रेविस सीआई केवल तभी तैनात करें जब टैग नाम रीगेक्स से मेल खाता है
- 22. Supress सबमिट करें सबमिट करें/सबमिट बटन केवल तभी सक्षम है जब जावास्क्रिप्ट अक्षम है
- 23. मर्ज करें - केवल तभी अपडेट करें जब मान बदल गए हैं
- 24. केवल तभी अनुरोधों को पुनर्निर्देशित करें जब फ़ाइल नहीं मिली है?
- 25. जूलिया
- 26. जूलिया
- 27. सत्यापन की आवश्यकता केवल तभी क्षेत्र
- 28. जूलिया
- 29. ऑन-वन सक्रिय करना केवल तभी अपडेट करें जब फ़ील्ड मान बदल गए हों
- 30. जेनकिन्स केवल तभी निर्माण करें जब कोई अन्य निर्माण सफल हो गया हो?