প্রতীক অ্যারে তৈরি করুন


130

এরকম কিছু করার কি কোনও ক্লিনার উপায় আছে?

%w[address city state postal country].map(&:to_sym) 
#=> [:address, :city, :state, :postal, :country]

আমি যা %sচেয়েছিলাম তা করতে পারতাম, তবে তা হয় না। এটি কেবল বন্ধনীগুলির মধ্যে সমস্ত কিছু নেয় এবং এটি থেকে একটি বড় প্রতীক তৈরি করে।

সামান্য বিরক্তি।


1
এটা বেশ মান। আপনার বাস্তবায়ন সম্পর্কে এমন কিছু আছে যা এই পদ্ধতিটিকে অনাকাঙ্ক্ষিত করে?
dwhalen

5
"সত্যই" নয় তবে প্রায়শই রেলে সিনট্যাক্টিকাল চিনি থাকে যা ব্যবহার করে আমার ভিতরে সমস্ত স্বাচ্ছন্দ্য বোধ করে। :)
ড্র হয়েছে

রুবি 2 যেহেতু আছে! দেখতে stackoverflow.com/questions/8816877/...
m_x

উত্তর:


357

মূল উত্তরটি সেপ্টেম্বর '11 এ ফিরে লেখা হয়েছিল, তবে, রুবি 2.0 থেকে শুরু করে , চিহ্নগুলির অ্যারে তৈরি করার একটি আরও ছোট উপায় আছে! এই আক্ষরিক:

%i[address city state postal country]

আপনি যা চান ঠিক তাই করবেন


3
আমি সর্বদা ভুলে যাই যে এটি "টো_সাইম" এর বিকল্প "ইন্টার্ন" এর পক্ষে দাঁড়িয়েছে। দেখুন codecademy.com/forum_questions/512a675cf116c52d0d00674b
A5308Y

রুবি ২ এর জোর দ্রষ্টব্য নোট করুন এটি রুবি প্রোগ্রামিং ভাষার বইতে প্রদর্শিত হয় না কারণ এটি কেবল 1.9.3 অবধি রয়েছে।
ডোনাটো

%i|a b c|
রুবির

6
এটি আপনি যা চান তা করেন, যে কেউ আপনার কোডবেজে এটি দেখতে পাবে তার কাছে গুগলকে এটি জানাতে হবে যে বিজারো সিনট্যাক্স রুবি এবার আমাদের কাছে কী ফেলেছে। আমি নিখুঁতভাবে পঠনযোগ্য বিকল্পের উপস্থিতি উপস্থিত থাকার সময় অস্পষ্ট ভাষা বৈশিষ্ট্যগুলি এড়িয়ে চলার পরামর্শ দিই, [[ঠিকানা,: শহর,: রাষ্ট্র]]।
অ্যালেক্স

ধন্যবাদ এটি সত্যিই সহায়ক।
Sonnyhe2002

91

খুব আক্ষরিক হয়ে যাওয়ার ঝুঁকি নিয়ে, আমি মনে করি প্রতীকগুলির একটি অ্যারে তৈরির সবচেয়ে পরিষ্কার উপায় হল প্রতীকগুলির একটি অ্যারে ব্যবহার করা।

fields = [:address, :city, :state, :postal, :country]

এর চেয়ে আরও সংক্ষিপ্ত কিছু ভাবতে পারি না।


11
আপনার অর্থ "খুব আক্ষরিক"?
অ্যান্ড্রু গ্রিম

আমি সবসময় জিনিসগুলির সর্বাধিক শক্তিশালী এবং সংক্ষিপ্ত উপায়গুলি সন্ধান এবং ব্যবহার করতে পছন্দ করি। এই উত্তরটি এই নির্দিষ্ট তালিকার জন্য আমার চেয়ে কম কীস্ট্রোক তবে ~ 9 বা তার বেশি আইটেমের একটি তালিকা সহ একটি বিকল্প সংক্ষিপ্ত হবে। উত্তর করার জন্য ধন্যবাদ. :)
ড্র হয়েছে

4
আমি মনে করি পঠনযোগ্যতা এই ক্ষেত্রে সব ট্রাম্প। এই উত্তরটি% w / to_sym বিকল্পের চেয়ে অনেক বেশি পঠনযোগ্য (আইএমও)। আপনার স্টাফ গ্রহণ করার জন্য পরবর্তী বিকাশকারীকে এমন করবেন না যে আপনাকে গলায় ঘুষি মারতে চায়।
ব্রুস হুবার্ড

3

%i[ ] হোয়াইটস্পেস (পৃথক ২.০ এর পরে) দ্বারা পৃথক করা প্রতীকগুলির অ-বিরক্তিকৃত অ্যারে

%I[ ] শব্দের স্পেস দ্বারা পৃথক চিহ্নগুলির ইন্টারপোলটেড অ্যারে, (রুবি ২.০ এর পরে)

%i[address city state postal country]

এটি করার সর্বোত্তম উপায় হ'ল:

%w[address city state postal country].map(&:to_sym)

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