ট্র্যাক
/
Ruby
Ruby
/
অনুশীলনী
/
সিনেমাদর্শী
সিনেমাদর্শী

সিনেমাদর্শী

লার্নিং অনুশীলনী

ভূমিকা

টার্নারি অপারেটর

টার্নারি কন্ডিশনাল হলো সাধারণ if/else স্টেটমেন্ট লেখার একটি সংক্ষিপ্ত উপায়। কোনো if/else স্টেটমেন্টে যদি কেবল দুটি শাখা থাকে, একটি শর্ত ট্রু হলে এবং অন্যটি ফলস হলে, তবে সেটিকে টার্নারি কন্ডিশনাল হিসেবে আবার লেখা যায়।

টার্নারি একটি কন্ডিশনাল ভাগ করতে ? ও : চিহ্নের সমন্বয় ব্যবহার করে:

condition ? true_branch : false_branch

?-এর বাম দিকের কোডটি হলো শর্ত, আর ডান দিকের কোডে থাকে দুটি সম্ভাব্য শাখা, যা : দিয়ে আলাদা করা হয়েছে। শর্তটি ট্রু হলে, :-এর বাম দিকের কোডটি চালানো হয়। শর্তটি ফলস হলে, :-এর ডান দিকের কোডটি চালানো হয়।

যেমন:

if traffic_light == 'green'
  cross_the_road
else
  wait
end

এভাবে আবার লেখা যায়:

traffic_light == 'green' ? cross_the_road : wait

নির্দেশনা

এই অনুশীলনীতে আপনি একটি সিনেমা হলের ওয়েবসাইটের জন্য নিয়মগুলো তৈরি করবেন।

1. একজন দর্শক প্রবীণদের ছাড় পাওয়ার যোগ্য কি না যাচাই করুন

সিনেমা হলটি "বার্ধক্যভাতা"-র জন্য ছাড় দেয়। যে কেউ ৬০ বছর বা তার বেশি বয়সী, সে একটি টিকিটের জন্য ১০.০০ দেয়। আর যে কম বয়সী, সে পুরো ১৫.০০ দেয়।

টার্নারি স্টেটমেন্ট ব্যবহার করে Moviegoer#ticket_price মেথডটি লিখুন।

Moviegoer.new(21).ticket_price
#=> 15

Moviegoer.new(65).ticket_price
#=> 10

2. একজন দর্শক ভয়ের সিনেমা দেখার অনুমতি পায় কি না যাচাই করুন

সিনেমা হলে একটি সরলীকৃত বয়স যাচাই ব্যবস্থা আছে। আপনার বয়স ১৮ বা তার বেশি হলে আপনি ভয়ের সিনেমা দেখতে পারবেন। কম হলে পারবেন না।

Moviegoer#watch_scary_movie? মেথডটি তৈরি করুন। এটি রিটার্ন করবে যে কেউ সিনেমাটি দেখার অনুমতি পায় কি না।

Moviegoer.new(21).watch_scary_movie?
#=> true

Moviegoer.new(17).watch_scary_movie?
#=> false

3. একজন দর্শক বিনামূল্যে পপকর্ন পাওয়ার যোগ্য কি না যাচাই করুন

সিনেমা হলে একটি মুভি ক্লাব প্রোগ্রাম আছে। সদস্যরা যেকোনো সিনেমা দেখলে বিনামূল্যে পপকর্ন পান।

Moviegoer.claim_free_popcorn! মেথডটি তৈরি করুন। কোনো দর্শক মুভি ক্লাবের সদস্য হলে তাকে তার বিনামূল্যের পপকর্ন দিয়ে পুরস্কৃত করা উচিত। সদস্য না হলে মেথডটি কোডের শুরুতে ডিফাইন করা UnsupportedOperation এক্সেপশনটি রেইজ করবে।

Moviegoer.new(21, member: true).claim_free_popcorn!
#=> 🍿

Moviegoer.new(17, member: false).claim_free_popcorn!
#=> Exception was raised! (NotMovieClubMemberError)
Note

এই অনুশীলনীতে একটি নির্দিষ্ট স্কোপের জন্য UnsupportedOperation এক্সেপশনটি ডিফাইন করার আশা করা হচ্ছে।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Ruby Exercism

সিনেমাদর্শী শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Ruby ট্র্যাকের 21টি কনসেপ্ট121টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।