সমস্ত বর্ণ এবং অঙ্কের অ্যারে তৈরি করুন


95

রুবি ব্যবহার করে বর্ণমালা এবং 0-9 সহজেই প্রতিটি বর্ণের একটি অ্যারে তৈরি করা সম্ভব?

উত্তর:


147
[*('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পদ্ধতিটি একটি সংখ্যাটিকে একটি স্ট্রিংয়ে রূপান্তর করে যা এটি একটি পছন্দসই অঙ্কের সিস্টেমের মধ্যে উপস্থাপন করে )


4
*এই প্রসঙ্গে অপারেটরটির জন্য কোনও বিশেষ নাম ব্যবহার করা হচ্ছে ? এটা আমার কাছে নতুন
মাইকেল বুড়

4
@ মিশেল বুড়, স্প্লিট অপারেটর । দেখুন এখানে এবং এখানে
Nakilon

4
দয়া করে উত্তরে নির্দেশ করুন যে * কোডের নমুনা রুবি ১.৯ এ কাজ করবে তবে রুবি ১.৮ এ নয়
জাবাবা

4
@ জাবা, আপনি আপনার মন্তব্যে এটি ইঙ্গিত করেছেন ..)
নাকিলন

4
রুবির ২.১ এর অধীনে বেঞ্চমার্কিং [* ('a' .. 'z'), * ('0' .. '9')] দ্বিগুণ থেকে দ্রুত (0 ... 36)। ম্যাপ {| i | i.to_s 36} (1.450000s বনাম 2.26000 গুলি যেখানে এন = 100,000)। যদি আপসেস অন্তর্ভুক্তি পছন্দসই হয় তবে নিম্নলিখিতগুলি ব্যবহার করুন: [* ('a' .. 'z'), * ('এ' .. 'জেড'), * ('0' .. '9')]
ভিয়েতনাম

34

অক্ষর বা সংখ্যার জন্য আপনি পরিসীমা তৈরি করতে পারেন এবং সেগুলি দিয়ে পুনরাবৃত্তি করতে পারেন। একটি সাধারণ ধারণা পেতে এটি চেষ্টা করুন:

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

এটি থেকে একটি অ্যারে পেতে, কেবল নিম্নলিখিত চেষ্টা করুন:

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


7

এটা চেষ্টা কর:

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"]


যদিও এটি প্রশ্নের উত্তর দিতে পারে, আপনার কোডের কোনও ব্যাখ্যা নেই। আপনি কী করছেন তার ব্যাখ্যা সরবরাহ করতে দয়া করে আপনার উত্তর আপডেট করুন। ধন্যবাদ!
মিরোস্লাভ গ্ল্যামুজিনা 20


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.