나는 이미 그 안에 들어 있지 않은 숫자 만 포함 할 수있는 여러 가지 종류의 컨테이너 인 NumberSet
클래스를 만들어야합니다.유추수를 누름
class NumberSet
include Enumerable
def initialize
@arr=[]
end
def each (&block)
@arr.each do |member|
block.call (member)
end
end
def << number
@arr<<number if @arr.include?(number) == false
end
end
이 코드는 합리적인 번호를 잘라냅니다. 예를 들어 (22/7)
은 (3/1)
과 같지 않아야합니다.
mine=NumberSet.new
mine<<Rational(22/7)
# => [(3/1)]
mine<<3.0
# => nil
어떻게 해결할 수 있습니까?
스타일링 포인트 : 대신 @arr'의 << 수있는 경우 @ arr.include (수) == FALSE ''할 @arr.include? (number)' – BroiSatse
루비의'set' 라이브러리를 사용하지 않는 이유가 있습니까? –