מהו טווח?
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Ruby של Coddy. שיעור 6 מתוך 56.
כבר השתמשת בטווחים עם לולאות for ועם חיתוך מערכים. אבל טווח הוא אובייקט Ruby אמיתי, לא רק תחביר; יש לו שיטות משלו.
צרו אחד באמצעות .. (שתי נקודות, כולל) או ... (שלוש נקודות, לא כולל ערך הסיום):
inclusive = 1..5 # 1, 2, 3, 4, 5
exclusive = 1...5 # 1, 2, 3, 4המרת טווח למערך באמצעות to_a כדי לראות בדיוק אילו ערכים הוא כולל:
puts (1..5).to_a.inspect # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect # [1, 2, 3, 4]טווחים אינם מיועדים רק למספרים. הם עובדים עם כל דבר שיש לו סדר, כולל אותיות:
puts ("a".."e").to_a.inspect # ["a", "b", "c", "d", "e"]אתגר
מתחיליםקרא שני מספרים שלמים (שתי שורות קלט): start ו-end_value. הדפס שלוש שורות:
- הטווח הכולל
start..end_valueכמערך (השתמש ב-inspect) - הטווח הלא כולל
start...end_valueכמערך - הגודל של הטווח הכולל
עבור הקלט 1 ואז 5, הפלט הוא:
[1, 2, 3, 4, 5]
[1, 2, 3, 4]
5נסו בעצמכם
start = gets.to_i
end_value = gets.to_i
# TODO: הדפס את הטווח הכולל, הטווח שאינו כולל את הקצה ואת גודל הטווח הכולל
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מחרוזות לעומק
סקירה של מתודות למחרוזותאינטרפולציה של מחרוזותמעבר על מחרוזותפיצול וחיבורסיכום – שוזר המחרוזות4בלוקים, Procs ו־Lambdas
מהו בלוק?do..end לעומת סוגריים מסולסליםמילת המפתח yieldפרמטרים של בלוקProcs ו־Lambdasסיכום – איטרטור מותאם אישית7Hashes חלק 2
Hash.new עם ערכי ברירת מחדלמעבר על HashesHashes מקונניםמיזוג ושינויסיכום - מונה תדירויות10פרויקט - רשומות תלמידים
סקירת הפרויקטהוספת תלמיד5עוצמת Enumerable
Select ו־Rejectשרשור MapReduce / Injectcount, all?, any?, none?group_by ו־partitionsort_by, min_by, max_byסיכום - צינור נתוניםתרגלו בעצמכם: קומפיילר Ruby אונליין