मानक दस्तावेज पढ़ने के बाद भी, मैं अभी भी समझ नहीं पा रहा हूं कि रुबी के Array#pack
और String#unpack
बिल्कुल काम करते हैं।रूबी का पैक और अनपैक
irb(main):001:0> chars = ["61","62","63"]
=> ["61", "62", "63"]
irb(main):002:0> chars.pack("H*")
=> "a"
irb(main):003:0> chars.pack("HHH")
=> "```"
मैं इन दोनों के संचालन एक ही आउटपुट लौटने की उम्मीद: "abc" यहाँ उदाहरण है कि मुझे सबसे ज्यादा मुसीबत खड़ी कर रहा है। उनमें से प्रत्येक एक अलग तरीके से "विफल" होता है (वास्तव में असफल नहीं है क्योंकि मैं शायद गलत चीज़ की अपेक्षा करता हूं)। तो दो प्रश्न:
- उन आउटपुट के पीछे तर्क क्या है?
- मैं अपने इच्छित प्रभाव को कैसे प्राप्त कर सकता हूं, यानी हेक्साडेसिमल संख्याओं के अनुक्रम को इसी स्ट्रिंग में बदल रहा हूं। इससे भी बेहतर - एक पूर्णांक एन दिया गया है, इसे टेक्स्ट फ़ाइल के समान स्ट्रिंग में कैसे परिवर्तित किया जाए, जिसे किसी संख्या के रूप में माना जाता है (कहें, एक हेक्स संपादक में) n के बराबर है?
' 'H'' प्रारूपों के लिए,' * 'एक उम्मीद तरीके से अभिनय नहीं कर रहा है दस्तावेज के अनुसार। अन्य प्रारूप वर्ण सही तरीके से व्यवहार करते प्रतीत होते हैं, इसलिए मुझे संदेह है कि रूबी के 'एच *' के उपयोग में यह एक बग है। –