Menu
Coddy logo textTech

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

חלק מהיחידה יסודות במסלול ה-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 אונליין