查看: 4632|回复: 20

[已经解决] ===的判定求解

  [复制链接]

八云紫的式神<

梦石
0
星屑
833
在线时间
1260 小时
注册时间
2008-1-1
回帖
3889

烫烫烫

发表于 2009-7-21 16:08:28 | 显示全部楼层 |阅读模式

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

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

×
p Fixnum===Fixnum #=>false
p 1 === 1 #=>true
求解释
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-22
回帖
421
发表于 2009-7-21 16:09:27 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

八云紫的式神<

梦石
0
星屑
833
在线时间
1260 小时
注册时间
2008-1-1
回帖
3889

烫烫烫

 楼主| 发表于 2009-7-21 16:23:23 | 显示全部楼层
另:IamI大人提供的实验结果
p Fixnum === Object #=>false
p Object === Fixnum #=>true
p Object === Object #=>true
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
回复

使用道具 举报

梦石
0
星屑
59
在线时间
84 小时
注册时间
2008-4-19
回帖
403
发表于 2009-7-21 16:23:54 | 显示全部楼层
p 1 === Fixnum #=> false
p Fixnum === 1 #=> true
p Fixnum === Fixnum #=> false

那么还是Object#kind_of?这个

解释:
Fixnum是一的实例 错误
1是Fixnum的实例 正确
Fixnum是Fixnum的实例 错误
完毕
好吧这是II让我贴的- -
回复

使用道具 举报

八云紫的式神<

梦石
0
星屑
833
在线时间
1260 小时
注册时间
2008-1-1
回帖
3889

烫烫烫

 楼主| 发表于 2009-7-21 16:26:21 | 显示全部楼层
如果照这样说的话,上面那四个结果都能解释的通
但是常用的case匹配数字之类的东西的时候就不对劲了……
var = 1
case var
when 1
***
when 2
***
end
1肯定不是1的实例但是照样能匹配啊

难道说是kind_of?和equal?有一个真就返回真??
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
回复

使用道具 举报

梦石
0
星屑
50
在线时间
238 小时
注册时间
2006-10-2
回帖
372
发表于 2009-7-21 16:40:32 | 显示全部楼层
没有记错的话,“===”应该是个正则表达式的运算符。

和赋值运算符“=”还有条件运算符“==”根本不是一回事,囧
回复

使用道具 举报

八云紫的式神<

梦石
0
星屑
833
在线时间
1260 小时
注册时间
2008-1-1
回帖
3889

烫烫烫

 楼主| 发表于 2009-7-21 16:41:42 | 显示全部楼层
===跟正则又有啥关系了……
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
回复

使用道具 举报

梦石
0
星屑
50
在线时间
238 小时
注册时间
2006-10-2
回帖
372
发表于 2009-7-21 16:48:17 | 显示全部楼层
只是依稀记得,两年前看的programming ruby了……
反正记得=~是正则的运算符,===在列出的ruby符号表里挨得比较近,所以我一直以为也是正则的运算符……
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-22
回帖
421
发表于 2009-7-21 16:49:27 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
回帖
3622
发表于 2009-7-21 17:07:34 | 显示全部楼层
http://osdir.com/ml/ruby-talk/2009-05/msg00850.html
囧,懂英文的自然好~

从译文来看 Fixnum不是Fixnum的实例
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部