מתודות של מערכים
חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 61 מתוך 88.
Ruby מספקת כמה מתודות מובנות שמקלות על העבודה עם מערכים. המתודות האלה עוזרות לך למיין, להפוך את הסדר ולמצוא איברים בלי לכתוב בעצמך קוד מורכב.
המתודה sort מסדרת איברים בסדר עולה:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # פלט: 1, 1, 3, 4, 5כדי להפוך את סדר האיברים, השתמשו במתודה reverse:
letters = ["a", "b", "c"]
puts letters.reverse # פלט: c, b, aאפשר לשלב את השיטות האלה כדי למיין בסדר יורד:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # פלט: 95, 92, 85, 78המתודות min ו־max מוצאות במהירות את הערכים הקטנים והגדולים ביותר:
prices = [29, 15, 42, 8]
puts prices.min # פלט: 8
puts prices.max # פלט: 42כדי לחשב את הסכום של איברים מספריים, השתמשו ב־sum:
quantities = [2, 5, 3]
puts quantities.sum # פלט: 10שימו לב ש-sort ו-reverse מחזירות מערכים חדשים בלי לשנות את המקורי. כדי לשנות את המערך המקורי ישירות, הוסיפו ! לשם המתודה, כמו sort! או reverse!.
אתגר
קלקרא שורת קלט אחת המכילה מספרים שלמים המופרדים בפסיקים (למשל, 5,2,8,1,9,3).
פצל את הקלט למערך של מספרים שלמים, ואז הדפס את הפריטים הבאים בשורות נפרדות:
- המערך ממוין בסדר עולה (כל איבר בשורה משלו)
- המערך ממוין בסדר יורד (כל איבר בשורה משלו)
- הערך המינימלי
- הערך המקסימלי
- סכום כל האיברים
הדפס שורה ריקה בין כל יחידה לשם הבהירות.
לדוגמה, אם הקלט הוא 5,2,8,1,9,3, הפלט צריך להיות:
1
2
3
5
8
9
9
8
5
3
2
1
1
9
28אם הקלט הוא 10,30,20, הפלט צריך להיות:
10
20
30
30
20
10
10
30
60אם הקלט הוא 7,3,5,1, הפלט צריך להיות:
1
3
5
7
7
5
3
1
1
7
16נסו בעצמכם
# קראו את המספרים השלמים המופרדים בפסיקים
input = gets.chomp
# TODO: כתבו את הקוד שלכם למטה
# 1. פצלו את input למערך של מספרים שלמים
# 2. מיינו את המערך בסדר עולה והדפיסו כל איבר
# 3. הדפיסו שורה ריקה
# 4. מיינו את המערך בסדר יורד והדפיסו כל איבר
# 5. הדפיסו שורה ריקה
# 6. הדפיסו את הערך המינימלי
# 7. הדפיסו את הערך המקסימלי
# 8. הדפיסו את סכום כל האיבריםהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין