Project1

标题: 带=、[]、[]=的方法? [打印本页]

作者: zh99998    时间: 2008-8-15 04:17
标题: 带=、[]、[]=的方法?
带=、[]、[]=的方法有什么特殊意义,在什么情况下能用到?
除了这3个符号还有其他的特殊意义方法名的符号吗[LINE]1,#dddddd[/LINE]还有带点的,def xxx.xxx [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 越前リョーマ    时间: 2008-8-15 04:22
[]是编号吧,
比如第2号变量在[]写2。
作者: zh99998    时间: 2008-8-15 04:23
以下引用越前リョーマ于2008-8-14 20:22:35的发言:

[]是编号吧,
比如第2号变量在[]写2。

相当不明白,举个例子可以吗
作者: Beside    时间: 2008-8-15 04:24
求实例
作者: zh99998    时间: 2008-8-15 04:30
F1,RGSS参考文件,Ruby的语法,类定义与方法定义
作者: ONEWateR    时间: 2008-8-15 04:36
以下引用zh99998于2008-8-14 20:23:14的发言:


以下引用越前リョーマ于2008-8-14 20:22:35的发言:

[]是编号吧,
比如第2号变量在[]写2。


相当不明白,举个例子可以吗


[本贴由作者于 2008-8-14 20:23:52 最后编辑]


变量,开关的写法就是最好的例子


作者: 小幽的马甲    时间: 2008-8-15 04:38
当然有意义= =||||
你不用attr_accessor的话,编辑内部变量就得用(以@abcd为例)def a=,def a=[]
作者: kissye    时间: 2008-8-15 04:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小幽的马甲    时间: 2008-8-15 04:40
attr_accessor :abcd
这个可以在外部类察看并修改abcd
attr_reader :abcd
这个可以在外部察看abcd
def abcd=(a)
  @abcd = e
end
这个是改写
def abcd
  return @abcd
end
这个是阅读

作者: zh99998    时间: 2008-8-15 04:46
thx
那带点的和首字母大写是怎么回事
def Xxx.xxx
作者: 小幽的马甲    时间: 2008-8-15 04:50
以下引用zh99998于2008-8-14 20:46:42的发言:

thx
那带点的和首字母大写是怎么回事
def Xxx.xxx

你就把他当正常的方法- -|||
作者: Beside    时间: 2008-8-15 04:51
专属于对象的特殊方法

Window_Base.new
Window_Selectable.new
生成各自的窗口对象


作者: link006007    时间: 2008-8-15 05:15
[]=  之类的就类似运算符重载
其实就和平常的def xxx 函数一样, 在ruby中这种[]=和普通的def xxx都是使用同样的函数绑定方法, 两者基本上没有什么区别.
只是 []= 这样写起来 在程序可读性上或许比较好而已

def  xxx.xxx  可以是self.xxx  类名.xxx
好比定义一个类中静态方法  这些方法可以不需要生成实例而直接调用, 他们是全局的 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




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