دستور if
میتوان با استفاده از دستور if و یک شرط خاص که باعث ایجاد یک کد میشود یک منطق به برنامه خود اضافه کنید. دستور if سادهترین دستور شرطی است که برنامه میگوید اگر شرطی برقرار است کد معینی را انجام بده. ساختار دستور if به صورت زیر است :
if condition code to execute end
قبل از اجرای دستور if ابتدا شرط بررسی میشود. اگر شرط برقرار باشد یعنی درست باشد سپس کد اجرا میشود. شرط یک عبارت مقایسهای است. میتوان از عملگرهای مقایسهای برای تست درست یا اشتباه بودن شرط استفاده کرد. اجازه بدهید که نگاهی به نحوه استفاده از دستور if در داخل برنامه بیندازیم. برنامه زیر پیغام Hello World را اگر مقدار number کمتر از 10 و Goodbye World را اگر مقدار number از 10 بزرگتر باشد در صفحه نمایش میدهد.
1: #Declare a variable and set it a value less than 10 2: number = 5 3: 4: #If the value of number is less than 10 5: if number < 10 6: puts 'Hello World.' 7: end 8: 9: #Change the value of a number to a value which is greater than 10 10: number = 15 11: 12: #If the value of number is greater than 10 13: if number > 10 14: puts 'Goodbye World.' 15: end
Hello World. Goodbye World.
در خط 2 یک متغیر با نام number تعریف و مقدار 5 به آن اختصاص داده شده است. وقتی به اولین دستور if در خط 5 میرسیم برنامه تشخیص میدهد که مقدار number از 10 کمتر است یعنی 5 کوچکتر از 10 است.
منطقی است که نتیجه مقایسه درست میباشد، بنابراین دستور if دستور را اجرا میکند (خط 6) و پیغام Hello World چاپ میشود. حال مقدار number را به 15 تغییر میدهیم (خط 10). وقتی به دومین دستور if در خط 13 میرسیم برنامه مقدار number را با 10 مقایسه میکند و چون مقدار number یعنی 15 از 10 بزرگتر است برنامه پیغام Goodbye World را چاپ میکند (خط 14). به این نکته توجه کنید که دستور if را میتوان در یک خط نوشت :
if number > 10; puts "Goodbye World." end
همانطور که در کد بالا مشاهده می کنید، باید بعد از شرط یک علامت سمیکالن قرار دهید. شما میتوانید چندین دستور را در داخل دستور if بنویسید. کافیست همه آنها را قبل از کلمه end بنویسید. نحوه تعریف چند دستور در داخل بدنه if به صورت زیر است :
if condition statement1 statement2 . . . statementN end
این هم یک مثال ساده :
x = 15; if x > 10 puts "x is greater than 10." puts "This is still part of the if statement." end
در مثال بالا اگر مقدار x از 10 بزرگتر باشد دو پیغام چاپ میشود. مثالی دیگر در مورد دستور if :
1: print "Enter a number: " 2: firstNumber = gets.to_i 3: 4: print "Enter another number: " 5: secondNumber = gets.to_i 6: 7: if firstNumber == secondNumber 8: puts "#{firstNumber} == #{secondNumber}" 9: end 10: 11: if firstNumber != secondNumber 12: puts "#{firstNumber} != #{secondNumber}" 13: end 14: 15: if firstNumber < secondNumber 16: puts "#{firstNumber} < #{secondNumber}" 17: end 18: 19: if firstNumber > secondNumber 20: puts "#{firstNumber} > #{secondNumber}" 21: end 22: 23: if firstNumber <= secondNumber 24: puts "#{firstNumber} <= #{secondNumber}" 25: end 26: 27: if firstNumber >= secondNumber 28: puts "#{firstNumber} >= #{secondNumber}" 29: end
Enter a number: 2 Enter another number: 5 2 != 5 2 < 5 2 <= 5 Enter a number: 10 Enter another number: 3 10 != 3 10 > 3 10 >= 3 Enter a number: 5 Enter another number: 5 5 == 5 5 <= 5 5 >= 5
ما از عملگرهای مقایسهای در دستور if استفاده کردهایم. ابتدا دو عدد که قرار است با هم مقایسه شوند را به عنوان ورودی از کاربر میگیریم. اعداد با هم مقایسه میشوند و اگر شرط درست بود پیغامی چاپ میشود. به این نکته توجه داشته باشید که شرطها مقادیر بولی هستند، یعنی دارای دو مقدار true یا flase می باشند.