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


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.