Menu
CoddyTech

גישה לאיברי מערך

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

לכל איבר במערך יש מיקום שנקרא אינדקס. ב-Ruby, האינדקס מתחיל ב-0, כלומר האיבר הראשון נמצא באינדקס 0, השני באינדקס 1 וכן הלאה.

כדי לגשת לאיבר, השתמש בסוגריים מרובעים עם האינדקס:

fruits = ["apple", "banana", "cherry"]
puts fruits[0]  # פלט: apple
puts fruits[1]  # פלט: banana
puts fruits[2]  # פלט: cherry

Ruby תומכת גם באינדקסים שליליים, שסופרים מסוף המערך. האינדקס -1 מתייחס לאיבר האחרון, -2 לאיבר שלפני האחרון, וכן הלאה:

colors = ["red", "green", "blue"]
puts colors[-1]  # פלט: blue
puts colors[-2]  # פלט: green

אפשר להשתמש גם בשיטות first ו־last כדי לגשת במהירות לקצוות של מערך:

numbers = [10, 20, 30, 40]
puts numbers.first  # פלט: 10
puts numbers.last   # פלט: 40

אם תנסה לגשת לאינדקס שאינו קיים, Ruby מחזירה nil במקום להעלות שגיאה:

letters = ["a", "b", "c"]
puts letters[10]  # פלט: (שום דבר - nil)
challenge icon

אתגר

קל

המערך הבא נתון לך:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]

קרא מספר שלם יחיד מהקלט שמייצג אינדקס. גש לאיבר באותו אינדקס והדפס אותו.

השתמש באינדקס שלילי כאשר הקלט שלילי. הקלט תמיד יהיה אינדקס תקף עבור המערך הזה (בין -8 ל-7).

לאחר הדפסת האיבר באינדקס הנתון, הדפס את האיבר הראשון והאחרון של המערך בשורות נפרדות באמצעות המתודות first ו-last.

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

Earth
Mercury
Neptune

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

Neptune
Mercury
Neptune

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

Jupiter
Mercury
Neptune

נסו בעצמכם

# מערך של כוכבי לכת
planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]

# קראו את האינדקס מהקלט
index = gets.chomp.to_i

# TODO: כתבו את הקוד שלכם למטה
# 1. גשו לאיבר באינדקס הנתון והדפיסו אותו
# 2. הדפיסו את האיבר הראשון באמצעות המתודה first
# 3. הדפיסו את האיבר האחרון באמצעות המתודה last
quiz iconבחנו את עצמכם

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

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

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