Skip to content

Instantly share code, notes, and snippets.

@kokuyouwind
Created June 20, 2019 07:12
Show Gist options
  • Save kokuyouwind/30a0712a240e8f3d16a52f1007e04268 to your computer and use it in GitHub Desktop.
Save kokuyouwind/30a0712a240e8f3d16a52f1007e04268 to your computer and use it in GitHub Desktop.
def fizz(n)
n % 3 == 0 ? 'fizz' : ''
end
def buzz(n)
n % 5 == 0 ? 'buzz' : ''
end
def fizzbuzz(n)
tmp = fizz(n) + buzz(n)
tmp == '' ? n : tmp
end
(1..30).each { |n| p (fizzbuzz(n)) }
def fizz(n, negated)
(n % 3 == 0) ^ negated ? 'fizz' : ''
end
def buzz(n, negated)
(n % 5 == 0) ^ negated ? 'buzz' : ''
end
def fizzbuzz(n, negated)
tmp = fizz(n, negated) + buzz(n, negated)
tmp == '' ? n : tmp
end
puts "=== normal ==="
(0..15).each { |n| puts "fizzbuzz(#{n}, false) => #{fizzbuzz(n, false)}" }
puts ""
puts "=== negated ==="
(0..15).each { |n| puts "fizzbuzz(#{n}, true) => #{fizzbuzz(n, true)}" }
def fizz(n, negated)
(n % 3 == 0) ^ negated ^ (n < 0) ? 'fizz' : ''
end
def buzz(n, negated)
(n % 5 == 0) ^ negated ^ (n < 0) ? 'buzz' : ''
end
def fizzbuzz(n, negated)
tmp = fizz(n, negated) + buzz(n, negated)
tmp == '' ? n : tmp
end
puts "=== normal ==="
(0..15).each { |n| puts "fizzbuzz(#{n}, false) => #{fizzbuzz(n, false)}" }
puts ""
puts "=== negated ==="
(0..15).each { |n| puts "fizzbuzz(#{n}, true) => #{fizzbuzz(n, true)}" }
puts ""
puts "=== minus ==="
(0..15).each { |n| puts "fizzbuzz(#{-n}, false) => #{fizzbuzz(-n, false)}" }
puts ""
puts "=== minus negated === "
(0..15).each { |n| puts "fizzbuzz(#{-n}, true) => #{fizzbuzz(-n, true)}" }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment