0

是否有可能在 Ruby 中的 method_missing 声明中确定是否使用括号表示法调用了给定的 missing_method(没有任何参数),即:

foo.non_existing_method()

或使用无括号符号:

foo.non_existing_method

?

我需要这个来解决我非常具体的测试问题。

4

1 回答 1

5

不。

由于两者完全相同,因此不可能有一种方法来检测差异。

无论如何,这没有任何意义,因为两者完全相同,因此也不可能存在任何行为差异。

如果您可以检测到差异,那么您也可以让您的方法表现不同,这对于该方法的任何用户来说都是非常令人惊讶的。

于 2010-12-27T15:45:45.767 回答