Project1

标题: 问一个简单的脚本问题 [打印本页]

作者: 赛露休斯    时间: 2009-2-4 05:02
标题: 问一个简单的脚本问题
像 =() 这类的是什么意思?
比如 def maxhp=(maxhp)
怎么用?
希望哪位高手举个实际点的例子 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 后知后觉    时间: 2009-2-4 05:07
就是赋值的意思吧!
一些东西只可以读取而不可以让其改变
用这样的方法可以让其改变其值
作者: 赛露休斯    时间: 2009-2-4 05:08
以下引用后知后觉于2009-2-3 21:07:32的发言:

就是赋值的意思吧!

给方法赋值?
作者: 后知后觉    时间: 2009-2-4 05:12
不是给方法赋值 方法总要有内容吧
def maxhp
return @maxhp
end
def maxhp=(maxhp)
@maxhp = maxhp
return @maxhp
end

作者: 赛露休斯    时间: 2009-2-4 05:16
那比如
def battle_bgm=(battle_bgm)
  @battle_bgm = battle_bgm

def battle_bgm(battle_bgm)
  @battle_bgm = battle_bgm
有什么区别?
作者: 赛露休斯    时间: 2009-2-4 05:16

还有。。。。。。
这个attr_writer :battle_bgm
和这个
def battle_bgm=(battle_bgm)
  @battle_bgm = battle_bgm
的区别是什么?
作者: 后知后觉    时间: 2009-2-4 05:28
这个我就说不清楚了,当时学这个的时候只是了解了一下是干嘛的
具体说不出来,等高收!
我也想看看更深解一点的解释!{/gg}

作者: 凌冰    时间: 2009-2-4 06:43
也就是说可以在别的类中给变量赋值
例如有了这个定义之后
我们可以执行
$game_actors[1].maxhp = 10000000000000000000000
1号任务的hp最大值为10000000000000000000000
如果没有这条的话,就无法这样执行(当然还有别的办法,另议) [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 雪流星    时间: 2009-2-4 06:49
http://sites.google.com/site/snowstarvalley/Home/scattered-tutorials/pages/attibutes
作者: 亿万星辰    时间: 2009-2-4 06:59
以下引用赛露休斯于2009-2-3 21:16:06的发言:

那比如
def battle_bgm=(battle_bgm)
@battle_bgm = battle_bgm

def battle_bgm(battle_bgm)
@battle_bgm = battle_bgm
有什么区别?

实际操作中:
前一个你可以写xxx.battle_bgm = a_music,只需要一个等号
后一个你可以写xxx.battle_bgm(a_music),需要一对括号 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 后知后觉    时间: 2009-2-4 07:22
以下引用亿万星辰于2009-2-3 22:59:33的发言:


以下引用赛露休斯于2009-2-3 21:16:06的发言:

那比如
def battle_bgm=(battle_bgm)
@battle_bgm = battle_bgm

def battle_bgm(battle_bgm)
@battle_bgm = battle_bgm
有什么区别?


实际操作中:
前一个你可以写xxx.battle_bgm = a_music,只需要一个等号
后一个你可以写xxx.battle_bgm(a_music),需要一对括号

每次看见 亿万星辰 都会有收获{/cy}




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