查看: 3784|回复: 4

[已经解决] 【新手向】RMVA - RGSS3脚本入门教程,有段代码报错?

[复制链接]
梦石
0
星屑
15041
在线时间
2230 小时
注册时间
2019-1-24
回帖
964

R考场第七期纪念奖

发表于 2019-3-28 12:54:39 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
[pre lang="ruby"]def a
    return 10
end

def b
        a = 2
    return self.a + 5
end

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

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2019-3-28 13:06:39 | 显示全部楼层
大概因为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考试或者教书吧……

点评

好,我发现自己喜欢钻死胡同。主要是对ruby一些用法不能理解透。看别人写代码,自己一改点就错,就会想为什么不能改成我自己想的样子了。  发表于 2019-3-28 13:30

评分

参与人数 1星屑 +50 收起 理由
VIPArcher + 50 塞糖

查看全部评分

回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2019-3-28 21:22:21 | 显示全部楼层
这个确实很难理解,为什么在这里定义的方法是私有方法,不过《ruby编程语言》的10.2.5确实提到了这个:
捕获.PNG
注意:顶级方法总是私有的

点评

你成功了,这都能扒拉出来,追本溯源了。我就记住一句,顶级方法总是私有的。  发表于 2019-3-28 21:52

评分

参与人数 1星屑 +50 收起 理由
VIPArcher + 50 塞糖

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部