פרמטרים של בלוק
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Ruby של Coddy. שיעור 18 מתוך 56.
המשתנים שבין הקווים האנכיים, |x|, |x, y|, הם הפרמטרים של הבלוק. הם נותנים שמות לערכים שהמתודה מעבירה לבלוק.
חלק מהמתודות מעבירות ערך אחד, ואחרות מעבירות כמה ערכים. each מעבירה איבר אחד בכל פעם:
[10, 20, 30].each { |n| puts n }each_with_index מעביר שני ערכים: את האיבר ואת האינדקס שלו:
["a", "b", "c"].each_with_index do |letter, i|
puts "#{i}: #{letter}"
end
# 0: a
# 1: b
# 2: cבעת איטרציה על גיבוב, הפרמטרים של הבלוק הם מפתח וערך:
{ a: 1, b: 2 }.each do |key, value|
puts "#{key} = #{value}"
endמספר פרמטרי הבלוק והסדר שלהם תלויים במה שהמתודה מחזירה. אם יש ספק, בדקו בתיעוד או נסו פרמטר אחד וראו מה מתקבל.
אתגר
קלה-hash scores נתון. יש לעבור עליו עם each_with_index בצורת ה-to_a שלו, כדי שתהיה לך גישה גם לזוג (שם, נקודות) וגם למיקום שלו. יש להדפיס שורה אחת לכל רשומה בפורמט הזה:
<rank>. <name> - <points>כאשר rank מתחיל ב-1 (לא 0).
עבור ה-hash המוגדר כברירת מחדל, הפלט הוא:
1. Alice - 90
2. Bob - 85
3. Cara - 78נסו בעצמכם
scores = { "Alice" => 90, "Bob" => 85, "Cara" => 78 }
# TODO: הדפס "<rank>. <name> - <points>" עבור כל רשומה, כאשר הדירוג מתחיל ב-1
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
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 אונליין