Project1

标题: .is_a?()和==的区别? [打印本页]

作者: 某死灵法师    时间: 2013-6-6 18:26
标题: .is_a?()和==的区别?
窗口透明脚本中有看到,非常好奇,来问问
作者: wwwcctvty    时间: 2013-6-6 21:42
同求
作者: 亿万星辰    时间: 2013-6-6 22:05
is_a?方法还有一个同功能的方法 kind_of? ,都是Object类的方法,具体用法如下
obj.is_a?( aClass )
obj.kind_of?( aClass )
返回真——如果aClass是obj的类,或者aClass是obj的父类,再或者是obj中的模块。
所以说,这个方法仅仅是判断一个对象是否属于某个类的方法,比如
actor.is_a?(Game_Actor)
这样就可以区分到底是角色还是敌人了,因为角色和敌人其实都是Game_Battler的对象。

==方法简单的说就是相等判断,比如
a=1;b=1
p a == b   --->  true

a = [];b = []
p a == b   --->  true

a = RPG::Actor.new
b = RPG::Actor.new
p a == b   --->  false
这三个例子可以自行揣摩一下~
作者: Sion    时间: 2013-6-6 22:38
本帖最后由 Sion 于 2013-6-6 22:39 编辑
  1. 哈士奇.is_a?(狗狗)   # => true
  2. 松狮犬.is_a?(狗狗)   # => true
  3. 哈士奇 == 松狮犬     # => false
复制代码





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