有没有类似 Python __getattr__
for Ruby 的东西?在 Python 中,obj.__getattr__
当引用未定义的属性(方法或属性)时调用。我method_missing
在 Ruby 中找到,但它不适用于属性。
我的用例是:我正在测试Mirah作为 JRuby -> Java 编译器。在标准 JRuby 中,Swing 方法和属性是“Rubyfied”(例如:label.setText "x" => label.text = "x"),但在 Mirah 中不是,因为 Mirah 没有像 JRuby 这样的专有运行时库. 然后,我想在运行时获取属性引用并将每个调用映射到相应的 Swing 方法(label.text => label.getText() / label.text = "x" => label.setText("x") ) .