设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2816|回复: 8
打印 上一主题 下一主题

[有事请教] 关于RyanBern帖子里一个简单的问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1345
在线时间
98 小时
注册时间
2018-4-12
帖子
85
跳转到指定楼层
1
发表于 2018-6-28 21:10:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 myaa475 于 2018-6-28 21:18 编辑

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

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

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

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

  然鹅...

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

  

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

  然后还是脚本'   '的 12 行 出现了 语法错误.
编程 音乐 美工...先从编程下手吧XD.

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2018-6-28 21:29:11 | 只看该作者
本帖最后由 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 讨论区

评分

参与人数 6+6 收起 理由
天使喝可乐 + 1 粗瞎
しろき + 1 我怀疑你们诚心为难我白老树
guoxiaomi + 1 爆树好评
灯笼菜刀王 + 1 咱前些时候还在看R叔的正则表达式教程呢.
fux2 + 1 fux2baoshu
小吵闹的革命 + 1 精品文章

查看全部评分

回复 支持 2 反对 0

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

3
发表于 2018-6-28 21:35:09 | 只看该作者
本帖最后由 taroxd 于 2018-6-28 21:44 编辑

楼主代码漏了个 end

在顶层定义方法相当于在 Object 类里面定义一个 private 方法

评分

参与人数 2+2 收起 理由
天使喝可乐 + 1 粗瞎
小吵闹的革命 + 1 精品文章

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41646
在线时间
7596 小时
注册时间
2009-7-6
帖子
13505

开拓者贵宾

4
发表于 2018-6-28 21:39:35 | 只看该作者
哎呀,楼主漏了一个end,才导致报错。

评分

参与人数 3+3 收起 理由
天使喝可乐 + 1 粗瞎
しろき + 1 鸡触蛋打
小吵闹的革命 + 1 精品文章

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 1 反对 0

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39009
在线时间
5716 小时
注册时间
2006-11-10
帖子
6618
5
发表于 2018-6-28 22:39:31 | 只看该作者
本帖最后由 灯笼菜刀王 于 2018-6-28 22:41 编辑

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

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

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

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
53
在线时间
4 小时
注册时间
2018-6-11
帖子
3
6
发表于 2018-6-29 08:39:15 | 只看该作者
本帖最后由 しろき 于 2018-6-29 08:44 编辑

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

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

原因是实例变量默认≠0



再来一刀

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

因为你压根就没让他反馈

点评

fun已经使用过了... 先是t.fun再是t.fun2  发表于 2018-6-29 11:00
虽然fun有确定值,但是你从来没使用过fun,写与不写一个样  发表于 2018-6-29 09:59
fun中已经把实例变量的值确定了. 所以fun2不会有错,我测试过.  发表于 2018-6-29 09:12

评分

参与人数 4+4 收起 理由
小吵闹的革命 + 1 爆树
天使喝可乐 + 1 妈耶 只有爆树
疯猫嗷 + 1 树树厉害,抱抱!
RyanBern + 1 lost man

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-10 17:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表