module Add
def addition
sum=1+2
puts sum
end
a=Add.addition
사람이 내가 놓친 게 왜 나는이 오류 - 추가에 대한>NoMethodError
정의되지 않은 메서드`또한 '얻고 무엇을 말해 줄 수 : 모듈 (NoMethodError) 당신이 원하는 경우
module Add
def addition
sum=1+2
puts sum
end
a=Add.addition
사람이 내가 놓친 게 왜 나는이 오류 - 추가에 대한>NoMethodError
정의되지 않은 메서드`또한 '얻고 무엇을 말해 줄 수 : 모듈 (NoMethodError) 당신이 원하는 경우
클래스 메서드와 인스턴스 메서드를 혼동스럽게합니다. 귀하의 정의 : 당신이 모듈 Add
의 방법이라고하는 반면
module Add
def addition
...
end
end
는 Add
의 인스턴스 메소드를 정의합니다. 클래스/모듈 메소드를 정의하려면 다음과 같이 정의해야합니다.
module Add
def self.addition
...
end
end
을 , 직접 전화를 직접 접근 방법으로 정의 할 수 :
def self.addition
# ...
end
또는 당신은 항상이 사용 재 작업 할 수 있습니다
을module Add
# ...(methods)...
extend self
end
그러면 모든 mixin 유형의 메소드가 자동으로 직접 액세스 할 수있는 것으로 승격됩니다.
당신은 또한이 같은 더 많은 선택적를 태그 할 수 있습니다
module Add
def addition
# ...
end
module_method :addition
end
을 방법은 Add.addition
으로 또는 다른 모듈 또는 클래스 include Add
를 호출하는 경우 중 다음 사용할 수 있음.