컴파일 된 C++ 라이브러리에서 루비 모듈을 성공적으로 생성했지만 일부 루비 메소드를 추가하려고합니다. 예를 들어, 라이브러리 중 하나는 당신이를 통해 액세스 개체의 연결리스트 반환swig 생성 루비 모듈에 기능을 추가하는 가장 좋은 방법은 무엇입니까?
objects.get_first_object
objects.get_next_object
내가
objects.each do |object|
...
end
을 할 수 있도록하는 방법을 추가하고 싶습니다 그렇게
def to_a
ret = Array.new
obj = objects.get_first_object
while obj
ret << obj
obj = objects.get_next_object
end
return ret
end
같은 아마 뭔가
질문은 방법을 만드는 방법이 아니라 클래스에 어떻게 추가해야합니까?
방금 클래스를 열고 메소드를 추가해야합니까?
하위 클래스를 만들려고 생각했지만 상속 관계가 포함되어 있기 때문에 지저분 해 보였습니다. 그렇게 할 경우 상속을 다시 만들어야 할 것이라고 생각합니까?
수업을 시작하기로 결정했다면 수업에 가장 좋은 방법은 무엇입니까?
* 클래스를 열고 메소드를 추가해야합니까? * 가능합니다. –
[루비에서 클래스를 원숭이에게 패치하기위한 권장 접근법] (http://stackoverflow.com/questions/10337712/recommended-approach-to-monkey-patching-a-class-in-ruby) 이상 [루비 원숭이 패치 수업] (https://www.google.co.in/search?client=ubuntu&channel=fs&q=ruby+monkey+patch+class&ie=utf-8&oe=utf-8&gws_rd=cr&ei=ZR61UpSkOMePrQeAo4HQDw) –