גישה לאיברי מערך
חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 59 מתוך 88.
לכל איבר במערך יש מיקום שנקרא אינדקס. ב-Ruby, האינדקסים מתחילים ב-0, כלומר האיבר הראשון נמצא באינדקס 0, השני באינדקס 1 וכן הלאה.
כדי לגשת לאיבר, השתמש בסוגריים מרובעים עם האינדקס:
fruits = ["apple", "banana", "cherry"]
puts fruits[0] # פלט: apple
puts fruits[1] # פלט: banana
puts fruits[2] # פלט: cherryRuby תומכת גם באינדקס שלילי, שסופר מסוף המערך. האינדקס -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)אתגר
קלנתון לך המערך הבא:
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השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 42משתנים וטיפוסי נתונים
מספרים ומשתניםטיפוס הנתונים מחרוזתטיפוס הנתונים בוליאניטיפוס הנתונים Symbolבדיקת טיפוסי נתוניםמוסכמות שמותסיכום – יצירת משתנים8לולאות
לולאת for עם טווחיםלולאת whilebreaknextסיכום – עצרתלולאת timesלולאת untilלולאות מקוננותסיכום – קלט דינמי11מערכים
יצירת מערכיםגישה לאיברי מערךשינוי מערכיםמתודות של מערכיםחזרה – מערך מכפלותחזרה – מערך הפוךקיצורי דרך למערכים3אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה6קלט ופלט בסיסיים
פלט באמצעות putsפלט באמצעות print ו־pפלט באמצעות משתניםקלט באמצעות getsשיטת Chompהמרת טיפוסיםחזרה — מחשבון גילחזרה — אמת או שקר9מתודות
הגדרת מתודהפרמטרים של מתודהערכי החזרהסיכום - מתודת Sigmaסיכום - מתודת האימותערכי ברירת מחדל של פרמטרים15מעקב אחר הוצאות יומיות
סקירת הפרויקטיציאה מהתוכניתתרגלו בעצמכם: קומפיילר Ruby אונליין