Ruby Ruby 有没有类似 PHP trait 的同名报错?

chenge · 发布于 2017年06月17日 · 最后由 zlx_star 回复于 2017年06月18日 · 324 次阅读
4215

同名报错,这样可以避免一些bug。

Ruby中include两个模块,如果有同名方法就很容易bug。

共收到 3 条回复
2880

应该没有...

除非你特意写个 included 的 hook 去做检查

5917

Ruby 没有这样的设定,这正是它的灵活性所在,只要顺着继承链顺藤摸瓜,不会有什么问题

PHP 中的 trait 只是对 Ruby Mixin 拙劣的模仿,同名报错可以说是一个优点,但同时也是一个缺点,多个 trait 具有同名方法就不能 use 进同一个类使用了?😌

2456

按照 Ruby 的查找逻辑,如果做同名检测的话,性能估计会很差吧,难以想象每个方法都需要遍历一遍继承树。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册