• בלוג
  • שלושה פיצ'רים ממכרים ב Ruby 3

שלושה פיצ'רים ממכרים ב Ruby 3

03/09/2022

בכל שיחה על רובי 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. במצב כזה רובי ייקח את ערך המשתנה בתור הערך למפתח זה.

יש לכם עוד פיצ'רים קטנים וחמודים ברובי שרוצים לשתף? אשמח לשמוע בתגובות.