কম্পিউটার

রুবি এনি, অল, নন এবং ওয়ান কিভাবে ব্যবহার করবেন

আজ আপনি 4টি গণনাযোগ্য পদ্ধতি সম্পর্কে শিখবেন যা আপনাকে উপাদানগুলির একটি অ্যারের বিরুদ্ধে একটি শর্তসাপেক্ষ বিবৃতি পরীক্ষা করতে সাহায্য করবে, একটি হ্যাশ বা অন্য যেকোন বস্তু যা গণনাযোগ্য মডিউল অন্তর্ভুক্ত করে৷

রুবি এনি, অল, নন এবং ওয়ান কিভাবে ব্যবহার করবেন

এই 4টি পদ্ধতি হয় true প্রদান করে অথবা false .

বিষয়বস্তু

  • 1 রুবি সমস্ত পদ্ধতি
  • 2টি সব এবং খালি অ্যারে
  • 3 রুবি কোন পদ্ধতি নেই
  • 4 রুবি যেকোনো পদ্ধতি
  • 5 রুবি এক পদ্ধতি
  • 6 নতুন রুবি 2.5 বৈশিষ্ট্য
  • 7 সারাংশ
    • 7.1 সম্পর্কিত

এটা করা যাক!

রুবি সমস্ত পদ্ধতি

আপনি যদি একটি অ্যারের ভিতরে সমস্ত স্ট্রিং একটি নির্দিষ্ট আকার আছে কিনা তা পরীক্ষা করতে চান.

আপনি এটি করতে পারেন৷ :

def all_words_have_specific_size?(words) মিথ্যা ফেরত দেয় যদি words.empty? words.each do |str| str.size ==5 শেষ trueendwords =["বেকন", "কমলা", "আপেল"]সমস্ত_শব্দের_আকার_নির্দিষ্ট_আকার?(শব্দ)# মিথ্যা

আমরা প্রতিটি স্ট্রিং পরীক্ষা করি, যদি আকারটি আমরা যা চাই তা না হয় তাহলে আমরা false ফেরত দিই , অন্যথায় আমরা true ফেরত দিই শেষে।

এটি এরকম কিছুর জন্য অনেক কোড।

এটি প্রতিবার সেট আপ করার কথা কল্পনা করুন৷ আপনি এই ধরনের চেক করতে চান।

এটা অনেক কাজের!

এখানে আমরা যেই বিষয়টা নিয়ে চিন্তা করি তা হল:

str.size ==5

এটি হল আমরা যে শর্তটি পরীক্ষা করছি৷ .

এটি করার একটি ভাল উপায় আছে?

হ্যাঁ!

all? ব্যবহার করুন আপনার জন্য সমস্ত কঠোর পরিশ্রম করার পদ্ধতি।

এখানে কিভাবে :

strings.all? { |str| str.size ==5 }

এটাই।

সমস্ত এবং খালি অ্যারে

একটি জিনিস আপনার অবশ্যই জানা উচিত:

এই all? পদ্ধতি true ফিরে আসবে যদি আপনি এটিকে একটি খালি অ্যারেতে কল করেন।

উদাহরণ :

<প্রে>[].সব? { |s| s.size ==1 }# সত্য

ব্যাখ্যা :

যেহেতু কোনো উপাদানই false নয় তারপর সমস্ত উপাদান অবশ্যই true হতে হবে .

এটাই এর পেছনে যুক্তি।

রুবি কোন পদ্ধতি নেই

আপনি যদি all? এর বিপরীত চান , none? ব্যবহার করুন

এখানে একটি উদাহরণ আছে :

strings. none? { |str| str.size ==5 }

এটি true প্রদান করে যদি কোনো স্ট্রিং শর্তের সাথে মেলে না, অথবা false যদি এক বা একাধিক মেলে।

এটা যদি বিবৃতি না হয়।

রুবি যেকোনো পদ্ধতি

আপনি কি জানতে চান কোন উপাদান আপনার অবস্থার সাথে মেলে কিনা?

আপনি any? ব্যবহার করতে পারেন পদ্ধতি!

এরকম :

[1,2,3,4,5].any?# true

এই নির্দিষ্ট উদাহরণে, any? empty? এর বিপরীত মত কাজ করে . কিন্তু এটি প্রতিটি পরিস্থিতিতে কাজ করবে না।

কারণ এটি প্রশ্ন জিজ্ঞাসা করছে :

"এই অ্যারের ভিতরে কোন সত্য উপাদান আছে?"

যদি আপনার অ্যারেতে শুধুমাত্র অ-সত্য (nil) অন্তর্ভুক্ত থাকে /false ) মান আপনি false পাবেন , কিন্তু অ্যারেটি সত্যিই খালি নয়৷

উদাহরণ :

[nil].any?# false

আপনি এই পদ্ধতিতে একটি ব্লকও পাস করতে পারেন:

<প্রে>[1,2,3].কোনো? { | n| n> 0 }# সত্য

এটি n > 0 কিনা তা পরীক্ষা করবে true অন্তত একটি উপাদানের জন্য।

রুবি ওয়ান পদ্ধতি

আপনি সঠিকভাবে একটি উপাদান true প্রদান করে কিনা তা পরীক্ষা করতে পারেন one? দিয়ে পদ্ধতি।

এখানে একটি উদাহরণ আছে :

["a", 1, {}].one? { |obj| obj.kind_of?(হ্যাশ) }# সত্য

অ্যারেতে ঠিক একটি সত্য মান রয়েছে কিনা তা পরীক্ষা করতে আপনি ব্লক ছাড়াই এটি ব্যবহার করতে পারেন (false ছাড়া অন্য কিছু / nil )।

["a"]।এক?# সত্য[]।এক?# মিথ্যা[নিল]।এক?# মিথ্যা

আমি size == 1 এ লেগে থাকব কারণ এটি আরও স্পষ্ট। প্রত্যেকে বুঝতে পারবে যে তারা one? এর সাথে পরিচিত না হলেও পদ্ধতি, যা সাধারণ নয়।

নতুন রুবি 2.5 বৈশিষ্ট্য

রুবি 2.5 থেকে এই 4টি পদ্ধতি (any? / all? / none? / one? ) এছাড়াও একটি আর্গুমেন্ট নিন যা গ্রেপের আর্গুমেন্টের মত কাজ করে।

আমি যা বলতে চাচ্ছি তা এখানে :

[:কমলা, :আপেল, :নারকেল]।কোন?(প্রতীক)# সত্য[1,2,3]।সব?(1..10)# সত্য

আপনি যদি একটি ক্লাস, রেগুলার এক্সপ্রেশন বা একটি পরিসর পরীক্ষা করতে চান তবে এটি একটি সুন্দর ছোট শর্টকাট৷

সারাংশ

আপনি 4টি দুর্দান্ত রুবি পদ্ধতি সম্পর্কে শিখেছেন যা আপনাকে অনেক কাজ বাঁচাতে পারে! এই পদ্ধতিগুলি শুধুমাত্র true প্রদান করে অথবা false .

আপনি যদি এই পদ্ধতিগুলি আগে ব্যবহার না করে থাকেন... কেন এখনই চেষ্টা করবেন না?

অনুগ্রহ করে এই নিবন্ধটি শেয়ার করুন যদি আপনি এটি দরকারী বলে মনে করেন।


  1. রুবি আলিয়াস কীওয়ার্ড কীভাবে ব্যবহার করবেন

  2. রুবি গ্রেপ পদ্ধতি কীভাবে ব্যবহার করবেন (উদাহরণ সহ)

  3. রুবি মানচিত্র পদ্ধতি কীভাবে ব্যবহার করবেন (উদাহরণ সহ)

  4. রুবিতে স্ট্রাকট এবং ওপেনস্ট্রাক্ট কীভাবে ব্যবহার করবেন