উত্তর:
andহিসাবে একই &&কিন্তু কম প্রাধান্য । তারা উভয়ই শর্ট সার্কিট মূল্যায়ন ব্যবহার করে ।
সতর্কতা: andএমনকি =আপনার সাধারণত এড়াতে চাইলে এর চেয়েও কম প্রাধান্য রয়েছে and। and" ডাবল রেন্ডার ত্রুটিগুলি এড়ানো " এর অধীনে রেল গাইডে কখন ব্যবহার করা উচিত তার একটি উদাহরণ পাওয়া যাবে ।
&&, তবে andকেবল খুব নির্দিষ্ট ক্ষেত্রে ব্যবহার করা উচিত।
andএকটি বিপরীত হিসাবে ifবিবৃতি পরিবর্তক: next if widget = widgets.popহয়ে widget = widgets.pop and nextযে এটি নির্বাণ একটি দুর্দান্ত উপায়, সত্যিই এটি তৈরি করা।" ক্লিক করুন "আমার মাথা (এবং। orএকটি বিপরীত মত হল unlessপরিবর্তক।)
ব্যবহারিক পার্থক্য হ'ল বাঁধাই শক্তি, যা আপনি যদি এটির জন্য প্রস্তুত না হন তবে অদ্ভুত আচরণের দিকে পরিচালিত করতে পারে:
foo = :foo
bar = nil
a = foo and bar
# => nil
a
# => :foo
a = foo && bar
# => nil
a
# => nil
a = (foo and bar)
# => nil
a
# => nil
(a = foo) && bar
# => nil
a
# => :foo
একই জিনিস ||এবং জন্য কাজ করে or।
a = foo and bar এবং (a = foo ) && bar প্রমাণ করে যে andতুলনায় কম নজির আছে &&।
a = foo and barসমতূল্য (a = :foo) and nil। যেহেতু অ্যাসাইনমেন্টটি একটি যুক্তিযুক্ত সত্যের মান ( :foo) প্রদান করে তারপরে দ্বিতীয় অংশটি মূল্যায়ন করে, যা ব্যর্থ হয়, ফিরে আসে nil।
রুবি স্টাইল গাইড এটা ভাল বলেছেন আমি আর করতে পারে:
&& / || ব্যবহার করুন বুলিয়ান এক্সপ্রেশন এবং / অথবা নিয়ন্ত্রণ প্রবাহের জন্য। (থাম্বের বিধি: যদি আপনাকে বাইরের বন্ধনী ব্যবহার করতে হয় তবে আপনি ভুল অপারেটর ব্যবহার করছেন))
# boolean expression
if some_condition && some_other_condition
do_something
end
# control flow
document.saved? or document.save!
and/ orসম্পূর্ণরূপে বলছে এবং তাদের কোনও বক্তব্য থাকতে পারে। প্রায়শই নিয়ন্ত্রণ প্রবাহে তাদের ব্যবহার আরও স্পষ্টভাবে if/ unlessঅপারেটরদের সাথে যাইহোক লিখতে পারে (যেমন document.save! unless document.saved?)
||এবং &&প্রোগ্রামিং ভাষাগুলিতে বুলিয়ান অপারেটরদের কাছ থেকে আপনি যে নজিরটি আশা করেন তার সাথে আবদ্ধ হন ( &&খুব শক্তিশালী, ||কিছুটা কম শক্তিশালী)।
and এবং or নিম্নতর প্রাধান্য আছে।
উদাহরণস্বরূপ, বিপরীতে ||, orএর চেয়ে কম অগ্রাধিকার রয়েছে =:
> a = false || true
=> true
> a
=> true
> a = false or true
=> true
> a
=> false
অনুরূপভাবে, অসদৃশ &&, andএছাড়াও কম প্রাধান্য রয়েছে =:
> a = true && false
=> false
> a
=> false
> a = true and false
=> false
> a
=> true
আরো কি, অসদৃশ এর &&এবং ||, andএবং orবাঁধাই করা সমান প্রাধান্য সঙ্গে
> !puts(1) || !puts(2) && !puts(3)
1
=> true
> !puts(1) or !puts(2) and !puts(3)
1
3
=> true
> !puts(1) or (!puts(2) and !puts(3))
1
=> true
দুর্বল-বাঁধাই andএবং orনিয়ন্ত্রণ-প্রবাহের উদ্দেশ্যে কার্যকর হতে পারে: দেখুন http://devblog.avdi.org/2010/08/02/ using- and - and -or-in- ruby/ ।
||, orএর চেয়ে কম অগ্রাধিকার রয়েছে =" ... এখন এটি আরও অর্থবোধ করে, ধন্যবাদ!
andতুলনায় কম নজির আছে &&।
তবে একটি নিরস্তর ব্যবহারকারীর জন্য সমস্যাগুলি দেখা দিতে পারে যদি এটি অন্যান্য অপারেটরদের সাথে ব্যবহার করা হয় যাদের নজরে রয়েছে এর উদাহরণস্বরূপ, অ্যাসাইনমেন্ট অপারেটর:
def happy?() true; end
def know_it?() true; end
todo = happy? && know_it? ? "Clap your hands" : "Do Nothing"
todo
# => "Clap your hands"
todo = happy? and know_it? ? "Clap your hands" : "Do Nothing"
todo
# => true
andনিম্নতর প্রাধান্য রয়েছে, বেশিরভাগ ক্ষেত্রে আমরা এটিকে নিয়ন্ত্রণ-প্রবাহ সংশোধক হিসাবে ব্যবহার করি if:
next if widget = widgets.pop
হয়ে
widget = widgets.pop and next
এর জন্য or:
raise "Not ready!" unless ready_to_rock?
হয়ে
ready_to_rock? or raise "Not ready!"
আমি ব্যবহার করতে পছন্দ করি ifতবে তা নয় and, কারণ ifআরও বোধগম্য, তাই আমি কেবল উপেক্ষা করি andএবং or।
"পড়ুন ব্যাবহার" এবং "এবং" অথবা "রুবি মধ্যে আরও তথ্যের জন্য"।
আমি জানি না এটি রুবি অভিপ্রায় কিনা বা এটি কোনও বাগ থাকলে নীচে এই কোডটি ব্যবহার করে দেখুন। এই কোডটি রুবি সংস্করণ ২.২.১ এ চালিত হয়েছিল এবং এটি একটি লিনাক্স সিস্টেমে ছিল।
puts 1 > -1 and 257 < 256
# => false
puts 1 > -1 && 257 < 256
# => true
or||দেখুন ।