Menu
Coddy logo textTech

הוספת הטוויסט

חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 57 מתוך 88.

challenge icon

אתגר

קל

בשיעור הקודם יצרת תוכנית FizzBuzz שעוברת על מספרים באמצעות המחלקים המוגדרים כברירת מחדל, 3 ו-5. עכשיו, הוסף את הטוויסט בכך שתאפשר להתאים אישית את המחלקים באמצעות פרמטרים עם ערכי ברירת מחדל.

שנה את המתודה fizzbuzz כך שתקבל שלושה ארגומנטים:

  • n - המספר לבדיקה (חובה)
  • fizz_divisor - המחלק עבור "Fizz" (אופציונלי, ברירת המחדל היא 3)
  • buzz_divisor - המחלק עבור "Buzz" (אופציונלי, ברירת המחדל היא 5)

המתודה צריכה להשתמש במחלקים המותאמים אישית האלה במקום בערכים קשיחים בעת בדיקת ההתחלקות.

תקבל שלוש שורות קלט:

  1. הגבול העליון n
  2. מחלק fizz
  3. מחלק buzz

עבור בלולאה מ-1 עד n וקרא למתודה המעודכנת שלך fizzbuzz עם שלושת הארגומנטים. הדפס כל תוצאה.

לדוגמה, אם הקלט הוא:

10
2
3

הפלט צריך להיות:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

אם הקלט הוא:

15
3
5

הפלט צריך להיות:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

נסו בעצמכם

# Read input
n = gets.chomp.to_i

# Method from previous lesson
def check_divisible(number, divisor)
  return number % divisor == 0
end

# Create the fizzbuzz method
def fizzbuzz(n)
  if check_divisible(n, 3) && check_divisible(n, 5)
    return "FizzBuzz"
  elsif check_divisible(n, 3)
    return "Fizz"
  elsif check_divisible(n, 5)
    return "Buzz"
  else
    return n.to_s
  end
end

# Loop through numbers from 1 to n and print the result
(1..n).each do |i|
  puts fizzbuzz(i)
end

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Ruby אונליין