שלושה פיצ'רים ממכרים ב Ruby 3
בכל שיחה על רובי 3 הדבר הראשון שעולה זה ה Type System החדשה של רובי, או שיפורי הביצועים, או פיצ'ר המקביליות באמצעות Fiber-ים. כל אלה באמת שינויים גדולים וחשובים אבל לא פחות חשובים הם השיפורים הקטנים והממכרים שאפשר לשלב בקוד שלנו כבר היום. הנה שלושה שאני כבר לא יכול בלעדיהם:
1. פונקציות שורה אחת
פונקציות ברובי מתחילות במילה השמורה def ומסתיימות ב end. לפחות כך היה תמיד:
def twice(x)
x * 2
end
puts twice(10)
ואם רציתם לכתוב את הכל בשורה אחת הייתם צריכים לבלבל את רובי עם תחביר כזה:
def twice(x) x * 2; end
ב Ruby 3 אפשר סוף סוף להיפרד מהנקודה פסיק וה end, ולכתוב פשוט:
def twice(x) = x * 2
puts twice(10)
2. השמה ימינה
תמיד יכולנו לקחת מערך ב Ruby ולייצר ממנו משתנים:
a, b = [10, 20]
puts a
אבל אם היה לנו ביד Hash זה היה יותר מסובך.
רובי 3 הוסיפה תחביר של השמה ימינה כך שעכשיו אפשר לכתוב:
{ a: 10, b: 20 } => { a:, b: }
puts a
כדי לאתחל משתנים מתוך Hash.
3. השמטת ערכים ב Hash
הפיצ'ר הכי מבלבל ולא קריא של ES6 נכנס לרובי ועכשיו אנחנו יכולים לכתוב קוד לא קריא גם בצד שרת וגם בצד לקוח. זה נראה ככה:
a = 10
b = 20
hash = { a:, b: }
puts hash[:a]
בהגדרת Hash אנחנו יכולים לוותר על כתיבת הערך אם המפתח הוא Symbol ויש משתנה באותו שם ב Scope. במצב כזה רובי ייקח את ערך המשתנה בתור הערך למפתח זה.
יש לכם עוד פיצ'רים קטנים וחמודים ברובי שרוצים לשתף? אשמח לשמוע בתגובות.