Menu
Coddy logo textTech

לולאת times

חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 44 מתוך 88.

Ruby מציעה דרך אלגנטית יותר לחזור על קוד מספר מסוים של פעמים. לולאת times היא גישה בסגנון Ruby שנקראת כמעט כמו אנגלית.

במקום להגדיר טווח, פשוט קוראים ל-times על מספר:

3.times do
  puts "Hello!"
end

הדבר מדפיס "Hello!" שלוש פעמים. הקוד שבתוך בלוק do...end רץ בדיוק 3 פעמים. זה נקי יותר מכתיבת for i in 1..3 כשאין צורך במשתנה המונה.

אבל מה אם צריך לדעת באיזו איטרציה אתם? לולאת times יכולה לספק אינדקס שמתחיל ב־0:

4.times do |i|
  puts i
end
# פלט: 0, 1, 2, 3

המשתנה i שבין הקווים |i| מקבל את מספר האיטרציה הנוכחית. שים לב שהספירה מתחילה ב-0, ולא ב-1. הדבר שימושי כשצריך גם חזרה וגם מונה:

3.times do |num|
  puts "Iteration #{num + 1}"
end
# פלט: Iteration 1, Iteration 2, Iteration 3

לולאת times מושלמת כשאתה יודע בדיוק כמה חזרות דרושות לך ורוצה קוד נקי וקריא.

challenge icon

אתגר

קל

קרא מספר n מהקלט. השתמש בלולאת times עם האינדקס שלה כדי להדפיס לוח כפל של המספר 2, המציג מכפלות מ-2 x 0 ועד 2 x (n-1).

כל שורה צריכה להיות בתבנית: 2 x [index] = [result]

הקלט יהיה מספר שלם יחיד שמייצג כמה פעמים הלולאה צריכה לרוץ.

לדוגמה, אם הקלט הוא 4, הפלט צריך להיות:

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6

אם הקלט הוא 6, הפלט צריך להיות:

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10

נסו בעצמכם

# קראו את מספר החזרות
n = gets.to_i

# TODO: כתבו את הקוד שלכם למטה
# השתמשו בלולאת times עם האינדקס שלה כדי להדפיס את לוח הכפל של 2
# תבנית: 2 x [index] = [result]
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Ruby אונליין