相关疑难解决方法(0)

ruby对于所有x都有一个标识函数iexfn == x吗?

有时当我将方法名作为参数传递时,我发现自己希望有一个身份函数any_obj.send(:identity) == any_obj,所以不要这样:

(transform.nil?) ? my_obj : my_obj.send(transform)
Run Code Online (Sandbox Code Playgroud)

我可以写

my_obj.send(transform || :identity)
Run Code Online (Sandbox Code Playgroud)

(这是一个人为的例子 - 身份函数可以做的不仅仅是在更复杂的例子中保存一些按键.)

打开Object的定义并添加它会很容易,但是我已经忽略了哪些内容?还有其他人想要这个吗?

PS:我知道我的例子应该说明any_obj.send(:identity).equal?(any_obj),但有时迂腐模糊了这个问题.

ruby

18
推荐指数
2
解决办法
3151
查看次数

标签 统计

ruby ×1