मैं मैं गूगल में पाया कोड का एक टुकड़ा समझना चाहते हैं। मेरी समझ के अनुसार i
एक स्ट्रिंग में परिवर्तित किया जा रहा है। क्या यह सच है?रुबी में i.to_s का अर्थ क्या है?</p> <pre><code>i.to_s </code></pre> <p>ऊपर कोड <code>i</code> में एक पूर्णांक है:
उत्तर
यह कहने के लिए बेहतर है कि यह पूर्णांक i
के स्ट्रिंग प्रस्तुति को वापस करने वाला एक अभिव्यक्ति है। पूर्णांक स्वयं नहीं बदलता है। #pedantic।
आईआरबी
>> 54.to_s
=> "54"
>> 4598734598734597345937423647234.to_s
=> "4598734598734597345937423647234"
>> i = 7
=> 7
>> i.to_s
=> "7"
>> i
=> 7
यह सही है। to_s
किसी भी ऑब्जेक्ट को एक स्ट्रिंग में परिवर्तित करता है, इस मामले में (शायद) एक पूर्णांक, क्योंकि चर को i
कहा जाता है।
अन्य उत्तर में बताया गया है में, एक पूर्णांक पर .to_s बुला कि पूर्णांक की स्ट्रिंग प्रतिनिधित्व वापस आ जाएगी।
9.class #=> Fixnum
9.to_s #=> "9"
9.to_s.class #=> String
लेकिन क्या आप भी यह डिफ़ॉल्ट बेस से बेस 36. यहाँ करने के लिए बेस 2 से कुछ भी करने के लिए = बदलने के लिए 10 .to_s लिए एक तर्क पारित कर सकते हैं प्रलेखन है: Fixnum to_s।
1024.to_s(2) #=> "10000000000"
: तो, उदाहरण के लिए, यदि आप इसे करने के लिए संख्या 1024 कन्वर्ट करने के लिए करना चाहता था (उर्फ बेस 2 है, जो केवल "1" और "0" किसी भी संख्या का प्रतिनिधित्व करने के उपयोग करता है), तुम कर सकते हो बाइनरी में बराबर है जब आप अक्षरों और संख्याओं के यादृच्छिक संयोजन उत्पन्न करना चाहते हैं तो बेस 36 में कनवर्ट करना उपयोगी हो सकता है, क्योंकि यह 0 से 9 तक प्रत्येक नंबर का उपयोग करके और फिर प्रत्येक अक्षर को z से गणना करता है। Base 36 explanation on Wikipedia।
rand(36**3).to_s(36)
करने के लिए: उदाहरण के लिए, निम्न कोड आप 3 वर्ण लंबा (संभव संयोजनों जो कुछ भी अधिकतम स्ट्रिंग लंबाई आप चाहते हैं, जो बढ़ जाती है के लिए 3 बदल) को पत्र और लंबाई 1 की संख्या के एक यादृच्छिक स्ट्रिंग दे देंगे बेहतर समझें कि अलग-अलग आधार प्रणालियों में संख्याएं कैसे लिखी जाती हैं, इस कोड को आईआरबी में डाल दें, बेस सिस्टम के लिए कोष्ठक में 36 को बदल दें जिसे आप सीखना चाहते हैं। जिसके परिणामस्वरूप प्रिंटआउट 0 से 35 की गणना होती है जो कभी आधार प्रणाली में आप
36.times {|i| puts i.to_s(36)}
- 1. <% $, <% @, <% =, <% # ... सौदा क्या है?
- 2. का अर्थ << = और | =
- 3. PHP क्या <<< मतलब है?
- 4. रूबी में "<< -" का अर्थ क्या है?
- 5. PHP में <<< ईओडी का उपयोग क्या है?
- 6. रेल में "वर्ग << स्वयं" का अर्थ क्या है?
- 7. खोल में "<<(cmd args)" का अर्थ क्या है?
- 8. 'ऑपरेटर <<' के लिए 'std :: cout <<' में अस्पष्ट अधिभार <<
- 9. <% "का अर्थ क्या है: <% = और <% = में क्या अंतर है?
- 10. PHP में, "<<<" क्या दर्शाता है?
- 11. PHP व्यंजक <<< EOB
- 12. << पायथन में क्या करता है?
- 13. "<<<" ऑपरेटर का नाम क्या है?
- 14. <: <, <% <, =: = कंपाइलर में काम का स्केल कार्यान्वयन वास्तव में कैसे करता है?
- 15. ऑपरेटर के साथ पूर्णांक पदोन्नति <<
- 16. एएसपी.Net में, <% = और <% #
- 17. >>>>,> |, ||, | <, <, <<
- 18. रुबी में @@ मतलब क्या है?</p> <pre><code>@@autoloads = {} </code></pre> <p>क्या <code>@@</code> रूबी में मतलब है:
- 19. स्कैला में "<:" का क्या अर्थ है?
- 20. पीएचपी: <<< ob_start बनाम
- 21. cout << स्ट्रिंगस्ट्रीम
- 22. प्रश्न <<
- 23. ईजेएस: <% = बनाम <% -
- 24. अंतर << a_value
- 25. कक्षा << आत्म मतलब क्या है?
- 26. एक्सएमएल में <ArrayOf> की सूची <<
- 27. << ऑपरेटर सी ++ में क्या कर रहा है?
- 28. "ऑपरेटर <<" क्या कहा जाता है?
- 29. ओवरलोडिंग ऑपरेटर << - सी ++
- 30. <<..>> = आउटपुट
आप अनुमान सही है चुना है, 'to_s' विधि देता है एक वस्तु की स्ट्रिंग प्रतिनिधित्व (संख्या के उस मामले में' मैं 'घ)। लेकिन इस तरह के प्रश्नों के लिए मैं रूबी [दस्तावेज़ीकरण] (http://www.ruby-doc.org/) का उपयोग करने का सुझाव दूंगा। आप मानक पुस्तकालय से प्रत्येक विधि के लिए दस्तावेज पा सकते हैं। –
आपको वास्तव में समझने योग्य धन्यवाद –