加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – undef – 为什么要在Ruby中定义一个方法?

发布时间:2020-12-16 22:38:35 所属栏目:百科 来源:网络整理
导读:我从来没有看过任何其他编程语言中的undef – 或任何其他允许您取消定义方法的东西.为什么需要 Ruby? 编辑:我不是在争论这是有什么问题的.我只是不明白在运行时定义方法的目的?这是什么目的?怎么用我从来没有在C或Java中完成. 解决方法 Ruby中还有一个空
我从来没有看过任何其他编程语言中的undef – 或任何其他允许您取消定义方法的东西.为什么需要 Ruby?

编辑:我不是在争论这是有什么问题的.我只是不明白在运行时定义方法的目的?这是什么目的?怎么用我从来没有在C或Java中完成.

解决方法

Ruby中还有一个空白类模式需要undef功能.

这个想法是从您的新课程中删除每个方法,以使您对其进行的每个调用都以#method_missing结束.这样,您可以实现一个真正的代理,只是洗涤一切.实现装饰器模式是大约十行代码,无论你的目标类有多大.

如果你想看到这个成语在Ruby的嘲笑框架中,他们就会使用它.像flexmock这样的东西

另一个例子是当你根据一些条件动态添加一个类时.在游戏中,您可以在玩家对象上添加一个#attack方法,然后当他瘫痪而不是使用布尔标志来执行此操作.这样,调用类可以检查方法的可用性,而不是标志.我不是说这是一个好主意,只是这是可能的,有更聪明的人,那么我提出了有用的东西与此有关.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读