Class: Fizzbuzz
- Inherits:
-
Object
- Object
- Fizzbuzz
- Defined in:
- lib/fizzbuzz_approach5.rb
Overview
approach 5
Functional requirement - Fizzbuzz traditional game Non-Functional requirement - Maintainability + Availability + Testability + Usability Trade-off => Time => O(mn)
Constant Summary collapse
- DEFAULT_START =
define default value
1
- DEFAULT_FINISH =
100
- DEFAULT_CON =
{"Fizz" => 3, "Buzz" => 5}
Class Method Summary collapse
-
.multiple_of(num, denom) ⇒ Object
check whether denom is a multiple of num require 2 params.
-
.start(start = DEFAULT_START, finish = DEFAULT_FINISH, condition = DEFAULT_CON) ⇒ Object
print Fizz when i is multiple of 3 and print Buzz when i is multiple of 5 require 3 params.
Class Method Details
.multiple_of(num, denom) ⇒ Object
check whether denom is a multiple of num require 2 params
19 20 21 |
# File 'lib/fizzbuzz_approach5.rb', line 19 def self.multiple_of(num, denom) num % denom == 0 ? true : false end |
.start(start = DEFAULT_START, finish = DEFAULT_FINISH, condition = DEFAULT_CON) ⇒ Object
print Fizz when i is multiple of 3 and print Buzz when i is multiple of 5 require 3 params
29 30 31 32 33 34 |
# File 'lib/fizzbuzz_approach5.rb', line 29 def self.start(start=DEFAULT_START, finish=DEFAULT_FINISH, condition=DEFAULT_CON) (start..finish).map do |i| array = condition.select {|key, value| multiple_of(i, value)} array.size > 0 ? array.map{|key| key.first}.join : i end end |