मैं सोच रहा था कि पर्ल में foreach कथन लगातार क्रम में एक सरणी में आइटम पुनरावृत्त करता है? यही है, अगर मैं एक ही सरणी या सूची पर कई बार फ़ोरैच का उपयोग करता हूं तो क्या मुझे अलग-अलग परिणाम मिलते हैं?क्या foreach कथन क्रम में पुनरावृत्त करता है या यह यादृच्छिक क्रम हो सकता है?
5
A
उत्तर
9
हां, foreach
कथन में आइटम क्रमशः पुनरावृत्त किए गए हैं।
आपका प्रश्न एक हैश के तत्वों से अधिक बार-बार दोहराना से अधिक भ्रम की स्थिति से पैदा हो सकता है:
my %hash = ('a' => 1, 'b' => 2, 'c' => 3);
foreach my $key (keys %hash) { print $key } ; # output is "cab"
लेकिन मालूम होता है यादृच्छिक क्रम कैसे डेटा एक पर्ल हैश में (डेटा एक पर्ल हैश तालिका में जमा हो जाती है की एक विरूपण साक्ष्य है तालिका का आदेश नहीं दिया जाता है)। यह keys
कथन है जो हैश तालिका के क्रम को "बदल रहा है", foreach
नहीं।
1
यदि आप समय के बीच में सूची नहीं बदलते हैं, तो यह हमेशा एक सतत क्रम में होगा।
0
क्यों पर्ल के foreach पाश हैश आदेश मालूम होता है यादृच्छिक है के लिए तर्क perlsec दस्तावेज़ में है, जुड़ा हुआ here
संबंधित मुद्दे
- 1. "एनएसएससेट ऑल ऑब्जेक्ट्स" यादृच्छिक क्रम करता है?
- 2. एक यादृच्छिक क्रम
- 3. यादृच्छिक क्रम में वापसी पंक्तियां
- 4. यादृच्छिक क्रम और अंकन Elasticsearch
- 5. एक्सएसडी स्कीमा जो यादृच्छिक क्रम
- 6. foreach% dopar% - परिणामों के क्रम पर गारंटी?
- 7. पंक्तियों का यादृच्छिक क्रम Matlab
- 8. अवरोही क्रम क्रम अनुक्रमणिका
- 9. यादृच्छिक क्रम में बहु आयामी सरणी
- 10. क्रम
- 11. वृक्ष मानचित्र में 'प्राकृतिक क्रम' क्या है?
- 12. NSDictionary की allKeys सरणी गड़बड़ हो गई - क्रम में वे क्रम में नहीं हैं?
- 13. क्रम
- 14. क्या jQuery हमेशा डीओएम के माध्यम से पुनरावृत्त करता है जिसके क्रम में वे कोड में पाए जाते हैं?
- 15. क्रम
- 16. क्रम
- 17. क्रम
- 18. क्रम
- 19. क्रम
- 20. आरोही क्रम में फोन संपर्क लोड हो रहा है
- 21. इंटरनेट एक्सप्लोरर एक्सएमएल विशेषताओं को यादृच्छिक क्रम में प्रदर्शित करता है
- 22. फ्लैश क्रम IE8 में काम नहीं करता है plupload
- 23. विधियों को यादृच्छिक क्रम में कॉल करें (सी #)
- 24. क्रम में वे धकेल दिया जाता है
- 25. मेमोरी में डेटा का क्रम
- 26. मैं एक स्ट्रिंग है क्रम
- 27. आधुनिक क्रम
- 28. php क्रम
- 29. असेंबली द्वारा दिए गए प्रकारों का क्रम क्या है। GetTypes()?
- 30. यादृच्छिक क्रम में गतिविधि फिर से शुरू करने के लिए
बस पंडिताऊ होने के लिए, 'keys' हैश तालिका के क्रम में परिवर्तन नहीं होता है - अगर आप' कुंजी फोन 'किसी भी कुंजी को डालने या हटाने के बिना उसी हैश पर बार-बार, यह हर बार एक ही क्रम में चाबियाँ वापस कर देगा। पहले स्थान पर डेटा को संग्रहीत करने के कार्य द्वारा ऑर्डर बदला जा रहा है। हैश डेटा को उस क्रम में संग्रहीत करता है जो निर्धारक है, लेकिन अप्रत्याशित (इसे सबसे व्यावहारिक उद्देश्यों के लिए प्रभावी रूप से अनियमित बना रहा है)। –
बस संबंधित प्रश्न के लिए एक लिंक जोड़ना: [क्या पर्ल लगातार क्रमशः हैश कुंजी वापस करने की गारंटी है? - स्टैक ओवरफ़्लो] (http://stackoverflow.com/questions/1256502/is-perl-guaranteed-to-return-consistently-ordered-hash-keys) – sdaau