31得票4回答
Python中与Ruby的'method_missing'相当的是什么?

Python中类似于Ruby的method_missing方法的等效方法是什么?我尝试使用__getattr__,但此钩子也适用于字段。我只想拦截方法调用。Python的解决方案是什么?

23得票15回答
其他编程语言中是否有类似于Ruby的method_missing方法的等价物?

在Ruby中,对象有一个方便的方法叫做method_missing,它允许处理甚至没有被(明确)定义的方法调用: 当对象收到无法处理的消息时,Ruby会调用这个方法。符号是调用的方法的符号,args是传递给它的任何参数。默认情况下,解释器在调用此方法时会引发错误。但是,可以重写该方法以提供更...

17得票2回答
Python中的“method_missing”与Ruby的相似性

可能是重复问题: Python中类似Ruby的method_missing技术的方法? 在Python中是否有类似于Ruby的method_missing技术用于拦截消息(方法调用)的技术?

13得票1回答
Ruby:为什么 puts 调用 to_ary?

我正在学习Ruby中的元编程,尝试通过method_missing和define_method定义缺失的方法。我得到了一些意想不到的行为,想知道是否有人能解释一下。这是我的类: class X def method_missing(m, *args, &block) pu...

13得票4回答
Ruby是否有一个类似于method_missing的方法来处理未定义的实例变量?

当我调用不存在的方法时,method_missing 将告诉我方法的名称。当我尝试访问一个未设置的变量时,其值就是简单的 nil。 我正在尝试动态拦截访问 nil 实例变量并根据所访问的变量名称返回一个值。最接近的等效功能将是 PHP 的 __get。Ruby 中是否有任何等效该功能的方法?

12得票5回答
一个静态类型语言为什么无法像Ruby的method_missing一样实现?

我在静态类型语言方面没有太多经验(目前正在学习Scala并喜欢它!),但我注意到一件事情是这些语言似乎从来没有像Ruby的method_missing或ColdFusion的onMissingMethod那样的东西。是不是在静态类型语言中有某种固有限制阻止或使这个实现变得困难呢?

11得票1回答
rake任务中是否有类似于"method_missing"的方法?

如果我的Rakefile没有找到特定名称的任务,我希望rake根据某些规则创建一个同名的新任务,如果存在缺失任务名称的文件。但是如果不存在该文件,则希望返回默认值("不知道如何构建任务'foo'!")。简而言之,Rake是否有method_missing方法?

9得票2回答
如何在Ruby中编写包含method_missing方法的模块

我有几个扩展方法缺失的模块: module SaysHello def respond_to?(method) super.respond_to?(method) || !!(method.to_s =~ /^hello/) end def metho...

9得票2回答
Objective C和类中的魔法方法

Objective-C是否提供了一种拦截调用不存在类方法的方式?

7得票2回答
Ruby,从Date.day_fraction_to_time获取小时、秒和时间

我在这里找到了这个方法。 我发现了这个方法。 start = DateTime.now sleep 15 stop = DateTime.now #minutes puts ((stop-start) * 24 * 60).to_i hours,minutes,s...