self가 루비의 기본 수신자이고 인스턴스 메소드 정의에서 'puts'를 호출하는 경우 해당 호출의 수신자 인 객체의 인스턴스입니까?Ruby self and puts
예.
class MyClass
attr_accessor :first_name, :last_name, :size
# initialize, etc (name = String, size = int)
def full_name
fn = first_name + " " + last_name
# so here, it is implicitly self.first_name, self.last_name
puts fn
# what happens here? puts is in the class IO, but myClass
# is not in its hierarchy (or is it?)
fn
end
end
아주 좋은 지적입니다. 여기 프로토콜은 무엇입니까, 내 대답을 삭제하고 내버려둬 야합니까 (더 정확한지)? –
사실 나는 틀 렸습니다. 'self.puts'는 현재 클래스에서'puts' 메소드를 호출하는 것과 다릅니다. 그래서 기본적으로 당신 것과 똑같은 대답이었던 제 답변의 첫 번째 수정은 옳았고 당신의 것이 었습니다. –