Project1

标题: 【新手向】RMVA - RGSS3脚本入门教程,有段代码报错? [打印本页]

作者: miantouchi    时间: 2019-3-28 12:54
标题: 【新手向】RMVA - RGSS3脚本入门教程,有段代码报错?
RUBY 代码复制
  1. def a
  2.     return 10
  3. end
  4.  
  5. def b
  6.         a = 2
  7.     return self.a + 5
  8. end
  9.  
  10. p b #输出:15

这段代码是https://rpg.blue/thread-398047-1-1.html,2.3章节的一段代码,我直接脚本编辑器里面运行报错,
就是main脚本上面填写的。是我哪块操作错误了吗?

3.png (84.97 KB, 下载次数: 28)

3.png

2.png (29.89 KB, 下载次数: 31)

2.png

作者: 百里_飞柳    时间: 2019-3-28 13:06
大概因为RGSS里的ruby版本,其中self的调用需要一个对象
也就是需要写成
  1. class T
  2.   def a
  3.     return 10
  4.   end
  5.   def b
  6.     a = 5
  7.     return self.a + 2
  8.   end
  9. end
  10. t = T.new
  11. p t.b
复制代码


不过这个你不用纠结,因为别写同名的变量和方法就好了……你也不可能去Ruby考试或者教书吧……
作者: guoxiaomi    时间: 2019-3-28 21:22
这个确实很难理解,为什么在这里定义的方法是私有方法,不过《ruby编程语言》的10.2.5确实提到了这个:

注意:顶级方法总是私有的




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