אופרטורים של מערכים
חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 71 מתוך 88.
Ruby מספקת אופרטורים מיוחדים שמאפשרים לך לשלב, להשוות ולתפעל מערכים בדרכים עוצמתיות. האופרטורים האלה מקלים על העבודה עם כמה מערכים בו-זמנית.
האופרטור + משרשר שני מערכים למערך חדש:
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b
puts combined # פלט: 1, 2, 3, 4, 5, 6האופרטור - מסיר מהמערך הראשון את האיברים שמופיעים במערך השני:
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove
puts result # פלט: 1, 3, 5האופרטור & מחזיר את האיברים המשותפים לשני המערכים (חיתוך):
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b
puts common # פלט: 3, 4האופרטור | משלב מערכים ומסיר כפילויות (איחוד):
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b
puts union # פלט: 1, 2, 3, 4, 5כל האופרטורים האלה יוצרים מערכים חדשים ומשאירים את המערכים המקוריים ללא שינוי.
אתגר
קלקראו שתי שורות קלט, שכל אחת מהן מכילה מספרים שלמים המופרדים בפסיקים:
- המערך הראשון (לדוגמה,
1,2,3,4,5) - המערך השני (לדוגמה,
3,4,5,6,7)
בצעו את הפעולות הבאות והדפיסו את התוצאות, כל אחת בשורה נפרדת:
- הדפיסו כל איבר בשרשור של שני המערכים (באמצעות
+) - הדפיסו
---כמפריד - הדפיסו כל איבר בהפרש (המערך הראשון פחות המערך השני, באמצעות
-) - הדפיסו
---כמפריד - הדפיסו כל איבר בחיתוך (איברים משותפים, באמצעות
&) - הדפיסו
---כמפריד - הדפיסו כל איבר באיחוד (שילוב ללא כפילויות, באמצעות
|)
לדוגמה, אם הקלט הוא 1,2,3,4,5 ו-3,4,5,6,7, הפלט צריך להיות:
1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7אם הקלט הוא 10,20,30 ו-30,40,50, הפלט צריך להיות:
10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50אם הקלט הוא 5,10,15 ו-1,2,3, הפלט צריך להיות:
5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3נסו בעצמכם
# קראו את מערכי הקלט
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)
# TODO: כתבו את הקוד שלכם למטה
# בצעו את הפעולות הבאות:
# 1. שרשור באמצעות +
# 2. הפרש באמצעות -
# 3. חיתוך באמצעות &
# 4. איחוד באמצעות |
# הדפיסו כל תוצאה עם "---" כמפריד בין הפעולותהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 413מערכים מתקדמים
חיתוך מערכים באמצעות טווחיםחיתוך מערכים באמצעות אינדקסיםאופרטורים של מערכיםמתודת Include?2משתנים וטיפוסי נתונים
מספרים ומשתניםטיפוס הנתונים מחרוזתטיפוס הנתונים בוליאניטיפוס הנתונים Symbolבדיקת טיפוסי נתוניםמוסכמות שמותסיכום – יצירת משתנים8לולאות
לולאת for עם טווחיםלולאת whilebreaknextסיכום – עצרתלולאת timesלולאת untilלולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה6קלט ופלט בסיסיים
פלט באמצעות putsפלט באמצעות print ו־pפלט באמצעות משתניםקלט באמצעות getsשיטת Chompהמרת טיפוסיםחזרה — מחשבון גילחזרה — אמת או שקר9מתודות
הגדרת מתודהפרמטרים של מתודהערכי החזרהסיכום - מתודת Sigmaסיכום - מתודת האימותערכי ברירת מחדל של פרמטרים15מעקב אחר הוצאות יומיות
סקירת הפרויקטיציאה מהתוכניתתרגלו בעצמכם: קומפיילר Ruby אונליין