1
다음 문자열이 있는데 그 끝에 문자 'd'를 추가하는 메서드를 정의하려고합니다. 이 작업을 수행하는 한 가지 방법은 class << str
관용구를 사용하는 것입니다.오브젝트 값에 액세스하는 오브젝트 메소드 정의?
str = 'abc'
class << str
def frob
return self + "d"
end
end
다음 구문을 사용하여이를 수행 할 수있는 방법이 있습니까?
def str.frob
return str + 'd'
end
나는이 작업을 수행하려고
나는str
가 정당하지 않은 경우
singleton_method
#frob
은, 자신의 지역 범위가 있기 때문에
undefined local variable or method 'str' for "abc":String (NameError)
구문 'p self'의 의미는 무엇입니까? – user784637
@ user784637'p'는'puts'와 같고,'print'는'#frob' 메서드 안에'self'가 무엇인지 보여주기 위해 사용됩니다. –