Project1

标题: attr_reader 的作用以及三种括号的区别 [打印本页]

作者: 银色子夜    时间: 2014-12-15 18:48
标题: attr_reader 的作用以及三种括号的区别
本帖最后由 VIPArcher 于 2014-12-15 19:43 编辑

  attr_reader   :status_window            # 状态窗口
  attr_reader   :item_window              # 物品窗口

这个 : xxx是什么意思啊?不太明白 : 的作用
还有
@@xxxxx
的@@又是怎么一个意思啊。。。

对了……还有……{} [] ()这三个括号有什么区别啊。。。经常看见
xxxx{xxx}xxx  
xxxx[,xx[,xx]]

xxx(xx)还能理解()中的xx是是参数。。。另外两种括号是什么意思呢。。。

新手小菜鸟,目前还在RGSS3的语法中晕头转向ING。。。还望各位前辈不吝赐教

帮你改了一个标题 —— VIPArcher留
作者: RyanBern    时间: 2014-12-15 19:06
问题1,attr_reader :相当于定义了一个读取的方法,这样对于这个类的对象,使用原点运算符'.'+名称可以读取到相应的实例变量@xx
相当于在该类中定义了这个方法:
def xx
  return @xx
end
问题2,@@xx是类变量,也就是属于整个类的变量,而不单独属于某个对象。
问题3,这些括号有不同的含义
():表示函数调用,或者是改变运算次序
[]:Indexer索引器,表示数组
{}:代码块,内嵌表达式#{xxx}(用于正则表达式内部或字符串内部),表示Hash表
至于你说的[xx[,xx[,xx]]]这个不是语法,而是表示默认参数的写法,不能用于代码中(i.e.F1书中的记号)。
例如:f(a[,b])表示方法f有两个参数,第二个参数可以不写。能看懂这个意思就好





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