我们可以像在java中那样公开Ruby中的接口,并强制执行Ruby模块或类来实现接口定义的方法.
一种方法是使用继承和method_missing来实现相同的目标,但还有其他更合适的方法吗?
在一些javascript实现中有一个noSuchMethod功能(Rhino,SpiderMonkey)
proxy = {
__noSuchMethod__: function(methodName, args){
return "The " + methodName + " method isn't implemented yet. HINT: I accept cash and beer bribes" ;
},
realMethod: function(){
return "implemented" ;
}
}
js> proxy.realMethod()
implemented
js> proxy.newIPod()
The newIPod method isn't implemented yet. HINT: I accept cash and beer bribes
js>
Run Code Online (Sandbox Code Playgroud)
我想知道,有没有办法为房产做类似的事情?我想编写可以在属性和方法上分派的代理类.