我已經從編譯的C++庫成功生成了一個ruby模塊,但是我想添加一些ruby方法。例如,圖書館之一返回您通過訪問對象的鏈接列表:向swig生成的ruby模塊添加功能的最佳方式是什麼?
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) –