Project1

标题: 关于RyanBern帖子里一个简单的问题 [打印本页]

作者: myaa475    时间: 2018-6-28 21:10
标题: 关于RyanBern帖子里一个简单的问题
本帖最后由 myaa475 于 2018-6-28 21:18 编辑

  总之上个月啊因为特殊原因(其实就是沉迷TFM),有一个月都没有上P1和学习(还是两个月呢?)放暑假啦有大把的时间就来学习啦!

  直接学Ruby就像绕了一大圈子,因为我们xp用的是rgss1,有一些差别,所以为了快(其实是不想太累)我要直接学rgss1啊...于是就默默打开了RyanBern的RGSS1脚本入门参考.

  只看不动手肯定是不行的!所以要一边开一边打开脚本编辑器!然后我发现了:

  我不知道RyanBern是马虎还是故意的,连个类都没定义就直接def了...这就好比筷子都没准备好就开始吃饭了,为了测试这个脚本我添加了class

  然鹅...

  没有关系,我们可以删除exit!

  

  头晕.应该是@a的数值没有确定,于是

  然后还是脚本'   '的 12 行 出现了 语法错误.
作者: RyanBern    时间: 2018-6-28 21:29
本帖最后由 RyanBern 于 2018-6-28 21:36 编辑

都 8102 年了还有人在看我这个写的不怎么地的玩意儿,感动

我不知道RyanBern是马虎还是故意的

首先,这是故意的,目的是为了告诉你这么写是错的。

其次,你脚本写错了,少了一个 end。(By taroxd)

然后,教程里从来没说 def 必须明显地出现在 class 里面。当它不在 class 里面的时候,它实际上是定义在顶层命名空间上的方法。你可以直接试试下面这句话
RUBY 代码复制
  1. def fux2
  2.   return "fux2baoshu"
  3. end
  4. p fux2    # => "fux2baoshu"


最后,有关 RMXP 类的交流帖请发到 RMXP 讨论区
作者: taroxd    时间: 2018-6-28 21:35
本帖最后由 taroxd 于 2018-6-28 21:44 编辑

楼主代码漏了个 end

在顶层定义方法相当于在 Object 类里面定义一个 private 方法
作者: fux2    时间: 2018-6-28 21:39
哎呀,楼主漏了一个end,才导致报错。
作者: 灯笼菜刀王    时间: 2018-6-28 22:39
本帖最后由 灯笼菜刀王 于 2018-6-28 22:41 编辑

楼上那些大佬的话暂时无法理解的话, 就把不加class的 def当成 "哪里都可以直接用的方法" ,这样用吧.

像你把fux2定义到class Babc里, 在别的地方调用它, 比如事件脚本里,要这样写
a = Babc.new
p a.fux2

而直接def ,  就算你没定义到Interpreter类里. 也可以在事件脚本直接调用  p fux2  


作者: しろき    时间: 2018-6-29 08:39
本帖最后由 しろき 于 2018-6-29 08:44 编辑

首先,我怀疑你们在诚心为难我白老树.jpg

其次,我是来补刀的,你这几行代码,就算有end,还是会报错

原因是实例变量默认≠0



再来一刀

就算你把上述也解决了,你还是看不到结果

因为你压根就没让他反馈




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