सभी अक्षरों और अंकों की सरणी उत्पन्न करें


93

माणिक का उपयोग करना, क्या वर्णमाला के प्रत्येक अक्षर की सरणी बनाना और 0-9 आसानी से संभव है?

जवाबों:


144
[*('a'..'z'), *('0'..'9')] # doesn't work in Ruby 1.8

या

('a'..'z').to_a + ('0'..'9').to_a # works in 1.8 and 1.9

या

(0...36).map{ |i| i.to_s 36 }

( Integer#to_sविधि वांछित संख्या प्रणाली में इसे दर्शाने वाली एक संख्या को स्ट्रिंग में बदल देती है )


2
क्या *इस संदर्भ में प्रयुक्त ऑपरेटर का कोई विशेष नाम है? यह मेरे लिए नया है।
— माइकल बूर

1
@ मिचेल बर, स्पैट ऑपरेटर । यहां और यहां
— नैकिलोन

4
कृपया उत्तर में इंगित करें कि * कोड का नमूना रूबी 1.9 में काम करेगा, लेकिन रूबी 1.8 में नहीं
— ज़ब्बा

2
@ ज़ब्बा, आपने इसे अपनी टिप्पणी में इंगित किया है ..)
— नकीलोन

3
रूबी 2.1 के तहत बेंचमार्किंग [* (.. a ’..’ z ’), * ('0’ .. ’9’)] दुगुनी से भी ज्यादा तेज (0 ... 36) .map {| i | | i.to_s 36} (1.450000s बनाम 2.26000s जहां n = 100,000)। यदि उत्थान वांछित है, तो निम्नलिखित का उपयोग करें: [* (.. a ’..’ z ’), * (Z A’ .. ’Z’), * ('0 ’..’ 9 ’)]
— Viet

33

अक्षरों या संख्याओं के लिए आप पर्वतमाला बना सकते हैं और उन पर पुनरावृति कर सकते हैं। सामान्य विचार प्राप्त करने के लिए इसे आज़माएँ:

("a".."z").each { |letter| p letter }

इसमें से एक सरणी प्राप्त करने के लिए, बस निम्नलिखित का प्रयास करें:

("a".."z").to_a

8

आप इसे इस तरह से भी कर सकते हैं:

'a'.upto('z').to_a + 0.upto(9).to_a

6

इसे इस्तेमाल करे:

alphabet_array = [*'a'..'z', *'A'..'Z', *'0'..'9']

या स्ट्रिंग के रूप में:

alphabet_string = alphabet_array.join

3
letters = *('a'..'z')

=> ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]


इस प्रश्न का उत्तर देने के बावजूद, आपके कोड का कोई स्पष्टीकरण नहीं है। आप क्या कर रहे हैं, इसका स्पष्टीकरण प्रदान करने के लिए कृपया अपना उत्तर अपडेट करें। धन्यवाद!
— मिरोस्लाव ग्लैमुज़िना

2
myarr = [*?a..?z]       #generates an array of strings for each letter a to z
myarr = [*?a..?z] + [*?0..?9] # array of strings a-z and 0-9

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.