קיצורי דרך למערכים
חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 64 מתוך 88.
Ruby מספקת קיצורי דרך נוחים ליצירת מערכים, במיוחד כשעובדים עם מחרוזות או מספרים עוקבים. קיצורי הדרך האלה חוסכים זמן והופכים את הקוד שלך לנקי יותר.
תחביר %w יוצר מערך של מחרוזות בלי צורך במירכאות או בפסיקים:
fruits = %w[apple banana cherry]
puts fruits # פלט: apple, banana, cherryהדבר שקול לכתיבת ["apple", "banana", "cherry"], אבל תמציתי הרבה יותר. כל מילה שמופרדת ברווח הופכת לאיבר נפרד.
עבור מערכים של סמלים, השתמשו ב־%i:
statuses = %i[pending active completed]
puts statuses # פלט: pending, active, completedכדי ליצור מערכים של מספרים עוקבים, אפשר להמיר טווח למערך באמצעות to_a:
numbers = (1..5).to_a
puts numbers # פלט: 1, 2, 3, 4, 5אפשר גם להשתמש באופרטור splat * בתוך סוגריים מרובעים של מערך:
countdown = [*5..10]
puts countdown # פלט: 5, 6, 7, 8, 9, 10קיצורי הדרך האלה שימושיים במיוחד כשצריך להגדיר במהירות רשימה של ערכים ידועים בלי העומס החזותי של מרכאות ופסיקים.
אתגר
קלקרא שתי קלטים:
- שורה אחת של מילים המופרדות ברווחים (למשל,
red green blue yellow) - שני מספרים שלמים המופרדים בפסיק ומייצגים טווח (למשל,
3,7)
בצע את המשימות הבאות:
- צור מערך של מחרוזות מהקלט הראשון באמצעות תחביר הקיצור
%w. מכיוון שהקלט כבר מחרוזת, יהיה עליך להשתמש ב-splitכדי להמיר אותו קודם למערך, ולאחר מכן להדגים את%wבאמצעות יצירת מערך נפרד עם המיליםalpha,beta,gamma. - צור מערך של סמלים באמצעות
%iעם הערכיםstart,middle,end. - צור מערך של מספרים עוקבים מהטווח שסופק בקלט השני, באמצעות אופרטור הפריסה
*בתוך סוגריים מרובעים של מערך.
הדפס את הפריטים הבאים בשורות נפרדות:
- כל איבר במערך המילים שהתקבל בקלט
- שורה ריקה
- כל איבר במערך
%w(alpha, beta, gamma) - שורה ריקה
- כל איבר במערך הסמלים
%i - שורה ריקה
- כל איבר במערך טווח המספרים
לדוגמה, אם הקלטים הם red green blue ו-1,5, הפלט צריך להיות:
red
green
blue
alpha
beta
gamma
start
middle
end
1
2
3
4
5אם הקלטים הם sun moon star ו-10,13, הפלט צריך להיות:
sun
moon
star
alpha
beta
gamma
start
middle
end
10
11
12
13נסו בעצמכם
# קראו את המילים המופרדות ברווחים
words_input = gets.chomp
# קראו את הטווח (שני מספרים שלמים המופרדים בפסיק)
range_input = gets.chomp
# TODO: כתבו את הקוד שלכם למטה
# 1. צרו מערך מ-words_input באמצעות split
# 2. צרו מערך %w עם alpha, beta, gamma
# 3. צרו מערך %i עם start, middle, end
# 4. פענחו את הטווח וצרו מערך באמצעות אופרטור splat (*)
# הדפיסו את האיברים של כל מערך בשורות נפרדות, עם שורות ריקות בין המערכיםהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין