عملگر شرطی

عملگر شرطی در Ruby مانند دستور شرطی if…else عمل می‌کند. در زیر نحوه استفاده از این عملگر آمده است:

condition ? true : false

عملگر شرطی تنها عملگر سه تایی Ruby است که نیاز به سه عملوند دارد، یک مقدار زمانی که شرط درست باشد، شرط و یک مقدار زمانی که شرط نادرست باشد. اجازه بدهید که نحوه استفاده این عملگر را در داخل برنامه مورد بررسی قرار دهیم.

  1: pet1 = 'puppy'
  2: pet2 = 'kitten'
  3: 
  4: type1 = (pet1 == 'puppy' ) ? 'dog' : 'cat'
  5: type2 = (pet2 == 'kitten') ? 'cat' : 'dog'
  6: 
  7: puts type1
  8: puts type2
dog
cat

برنامه بالا نحوه استفاده از این عملگر شرطی را نشان می‌دهد. خط 4 به این صورت ترجمه می‌شود که مقدار dog را در متغیر type1 قرار بده اگر مقدار pet1 برابر با puppy بود در غیر این صورت مقدار cat را type1 قرار بده. خط 5 به این صورت ترجمه می‌شود که مقدار cat را در type2 قرار بده اگر مقدار pet2 برابر با kitten بود در غیر این صورت مقدار dog. حال برنامه بالا را با استفاده از دستور if else می‌نویسیم:

if (pet1 == "puppy")
   type1 = "dog"
else
   type1 = "cat"
end

هنگامی که چندین دستور در داخل یک بلوک if یا else دارید از عملگر شرطی استفاده نکنید چون خوانایی برنامه را پایین می‌آورد.