잘못된 매개 변수를 가져 오는 경우 객체 생성을 취소하는 방법은 무엇입니까? 예 :루비 취소 객체 생성
class MyClass
def initialize(a, b, c)
@a = @b = @c = nil
@a = a if a.is_a? Integer
@b = b if b.is_a? String
@c = c if c.is_a? Integer or c.is_a? Float
return nil if @a == nil or @b == nil or @c == nil # doesn't works
end
end
cl = MyClass.new('str', 'some', 1.0) # need cl to be nil because 1st param isn't Integer
외부 메소드가 유효한 매개 변수를 검사하고 실패 할 경우 초기화 된 객체 대신 nil을 반환하도록 factory 메소드 패턴을 사용할 수 있습니다. – cmur2