سوال بپرسید
0

دستور switch در روبی (Ruby) چگونه است؟

سوال بپرسید

من میخواستم از دستور switch و case استفاده کنم ولی نمیدونم تو روبی چطوری نوشته میشه؟ هنوز هیچ منبعی رو مطالعه نکردم و سریع اینجا سوالم رو پرسیدم.

برچسب ها:
گزارش سوال
پرسیده شده در 3 ماه پیش
آمار بازدید: 131

1 پاسخ

0
27 آذر 97 در 18:02

برای اینکه دستور Switch و case را در روبی بنویسید با مطالعه مستندات سایت روبی متوجه خواهید شد که به صورت زیر است:

case x
when 1..5
  "It's between 1 and 5"
when 6
  "It's 6"
when "foo", "bar"
  "It's either foo or bar"
when String
  "You passed a string"
else
  "You gave me #{x} -- I have no idea what to do with that."
end

در واقع زبان روبی در ابتدا case یا آبجکت مورد نظر را جایگزین کرده و سپس شرط را با استفاده از دستور when بررسی می کند. توجه به این نکته ضروری است که این بررسی شرط با سه مساوی (===) صورت می گیرد که علاوه بر مقدار آبجکت x، باید نوع آن نیز برابر باشد.

از طرفی مقدار x با مقدار شرط when بررسی می شود:

6 === x

و این تساوی هرگز به صورت زیر نیست:

x === 6

در روبی بر خلاف سایر زبان ها نیازی به استفاده از break نیست. زیرا fall-through صورت نمی گیرد.