Project1
标题:
关于一个函数作用问题,看不懂
[打印本页]
作者:
gamedev0001
时间:
2011-11-5 21:36
提示:
作者被禁止或删除 内容自动屏蔽
作者:
精灵使者
时间:
2011-11-5 22:04
问号是可以做关键字的(大雾)或许,这个本来就是判断函数(刚才那个a or b的返回的应该是布尔变量)
作者:
后知后觉
时间:
2011-11-5 22:24
本帖最后由 后知后觉 于 2011-11-5 22:31 编辑
函数最后如果没有设置 return 返回值 会用该函数内最后一次的运算的值作为返回值.
函数的命名 在结尾处可以用 ? 和 !
带 ? 号的一般表示该函数返回的是 true/false
带 ! 号的一般表示该函数具有破坏性
还可以用 [] []= 作为函数名(Array类 Game_Switches类 Game_Variables类 都有)
关于返回值还有一个例外情况 当定义的函数名最后是 = 号的情况
返回值一定是该函数的参数.就算该函数设置了返回值 return xxx
但这样的函数的返回值还是传递给他的参数.
class ABC
def initialize
@a = 2
end
def a
@a
end
def a=(a)
@a = a
return 999
end
end
b = ABC.new
p b.a = 5 # 显示 5 而不是 999
exit
复制代码
你帖的那 effect? 的定义是 RPG::Sprite 类里的
这东西就是判断实例对象的 闪烁白光、红光啊动画播放啊什么的效果是否正在进行中.
这个主要就是拦截 Scene_Battle 4 里定义的那些东西的调用
作者:
苏小脉
时间:
2011-11-6 01:10
这是 Ruby 受 Lisp 影响之处——方法以问号结尾表示“谓词"(predicate),通常返回布尔值;函数主体没有语句,只有计算,这是函数式语言风格,有别于命令式语言风格。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1