Project1

标题: 一个def没有具体写明属于哪个class的话这个def属于哪个class呢? [打印本页]

作者: taeckle    时间: 2021-5-5 06:27
标题: 一个def没有具体写明属于哪个class的话这个def属于哪个class呢?
本帖最后由 taeckle 于 2021-5-5 06:29 编辑

经常看大佬们写代码写一个def都不先设定这个def要在哪个class下生效,所以想问问,如果没有特别标明class的def是会默认属于class Game_System这一类的吗?

还请诸位指点一二,多谢了!
作者: 百里_飞柳    时间: 2021-5-5 13:10
属于全人类
属于全局方法,任何地方都可以调用,但是优先级最低,也就是说如果类里有重新定义一个同名的,优化调用类里的,找不到时再从全局里查找
作者: guoxiaomi    时间: 2021-5-5 22:34
本帖最后由 guoxiaomi 于 2021-5-5 22:36 编辑

https://bparanj.gitbooks.io/ruby ... he_main_object.html

The methods defined at the top level becomes private method in the Object. This shows that these methods are bound to the main object.

RUBY 代码复制
  1. def function666(x);end
  2.  
  3.  
  4. p method(:function666) #=> #<Method: main.function666>
  5. p method(:function666).owner #=> Object
  6.  
  7. p self.private_methods.include?(:function666) #=> true
  8. p Object.private_methods.include?(:function666) #=> true





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1