"Fiz Buzz 퀴즈"퀴즈-Ruby 편을 풀어봤습니다.
3576 단어 Ruby
fizzbuzz.rb
class FizzBuzz
def initialize(receiver)
@receiver = receiver
@value = ''
end
def fizz
@value << 'Fizz' if @receiver % 3 == 0
self
end
def buzz
@value << 'Buzz' if @receiver % 5 == 0
self
end
def to_s
value.to_s
end
def inspect
value.inspect
end
private
def value
@value == '' ? @receiver : @value
end
end
class Integer
def fizz
FizzBuzz.new(self).fizz
end
def buzz
FizzBuzz.new(self).buzz
end
end
1.upto(100) do |i|
puts i.fizz.buzz
end
메서드를 호출할 때 FizBuzz 객체로 변환한 다음 처리합니다.추기
투고하고 나서야 다음과 같은 부분을 만족시키지 못했다
3의 배수 매개 변수(수신기)를 주면 "Fizz"를, 5의 배수를 주면 "Buzz"를 반환하는 방법을 적절한 클래스(또는 모듈)로 정의합니다.
Reference
이 문제에 관하여("Fiz Buzz 퀴즈"퀴즈-Ruby 편을 풀어봤습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/siman/items/738d908401697a04c656텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)