查看: 1840|回复: 4

[已经过期] .is_a?()和==的区别?

[复制链接]
梦石
3
星屑
178
在线时间
161 小时
注册时间
2010-9-30
回帖
91
发表于 2013-6-6 18:26:23 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
窗口透明脚本中有看到,非常好奇,来问问
梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
回帖
711
发表于 2013-6-6 21:42:43 | 显示全部楼层
同求
回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2013-6-6 22:05:17 | 显示全部楼层
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
这三个例子可以自行揣摩一下~
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
回帖
2257

贵宾

发表于 2013-6-6 22:38:13 | 显示全部楼层
本帖最后由 Sion 于 2013-6-6 22:39 编辑
  1. 哈士奇.is_a?(狗狗)   # => true
  2. 松狮犬.is_a?(狗狗)   # => true
  3. 哈士奇 == 松狮犬     # => false
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部