[Ruby-talk]对Fixnum与的讨论

原创 2004年10月07日 22:12:00
Bob Evans在应用中发现Fixnum#sort并不使用 <=>操作符,代码如下: class Fixnum @@count = 0 alias originalComparator <=> def <=>(o) @@count += 1 originalComparator(o) end def Fixnum.count @@count end end Running against it: >array = [5, 4, 3, 2, 1] => [5,4,3,2,1] >array.sort => [1,2,3,4,5] >Integer.count => 0 Expected => 6 > result > 0 实际正是如此,这可以从Ruby的源代码中看出: $ cd /v/build/ruby/ruby-1.8.1-2004.05.02/ $ less array.c static int sort_2(ap, bp) ... if (FIXNUM_P(a) && FIXNUM_P(b)) { if (a > b) return 1; if (a < b) return -1; return 0; } if (TYPE(a) == T_STRING && TYPE(b) == T_STRING) { return rb_str_cmp(a, b); } ... static VALUE sort_internal(ary) VALUE ary; { qsort(RARRAY(ary)->ptr, RARRAY(ary)->len, sizeof(VALUE), rb_block_given_p()?sort_1:sort_2); return ary; } 可见,Ruby确实没有使用<=>,而用最一般的 >,<进行比较。

如何与领导讨论问题(转)

领导与下属之间,在一些大的、原则性的问题上,还是需要争论的。争论的结果,可使事情得到正确解决,对事业、对领导都有益处。   正确的争论应做到以下几点:   1、问题是重要的   前边已经说过,小的、非...
  • hunyahun
  • hunyahun
  • 2005年03月16日 11:25
  • 794

ruby操作mysql数据库报错提示can't convert Fixnum into String解决方法

ymal里面数据库密码配置的     # 后台数据库的用户     db_user : root     # 后台数据库的密码     db_passwd : 123456 ru...
  • krista2009
  • krista2009
  • 2014年07月24日 17:45
  • 1372

Ruby中的数字类型

3.1.1  整型Ruby 支持整型和浮点型两种数字类型。整型可以是任意长度(最大值由你机器的内存大小决定)。在内部由两个类来表示Fixnum和Bignum,Fixnum的表数范围较Bignum小,大...
  • ruby_cn
  • ruby_cn
  • 2004年11月29日 16:02
  • 9151

什么是Ruby

Ruby是一种解释型的方便快捷的面向对象脚本语言,它是日本的Yukihiro Matsumoto(人们都叫他Matz.)于1993年2月24日首次发布的。它从Perl, Eiffel那里吸收了很多特性...
  • lee576
  • lee576
  • 2008年01月15日 10:52
  • 865

Can’t convert fixnum to string during rake db:create

Can’t convert fixnum to string during rake db:create 发表于 2011 年 8 月 20 日 rake aborted! ca...
  • beiquandeng
  • beiquandeng
  • 2012年10月13日 15:12
  • 738

[Ruby]ruby笔记01

ruby入门
  • napoay
  • napoay
  • 2015年09月26日 21:37
  • 860

乔布斯:关于Flash的几点看法

当初这篇轰动一时的文章,据说是乔大爷去世前亲自写的(好吧,Java虽然同样被拒,但还没这种待遇) -------------------------------------------------...
  • arvin0
  • arvin0
  • 2016年03月14日 16:10
  • 762

工作中多讨论多交流的益处

今天晚上产品线又组织了一次内部交流和培训,通过大家积极的讨论和交流,整个气氛很是活跃,也取得了良好的互动效果。         其实,在平时的工作过程中,有时间的时候大家可以多讨论讨论、多交流交流,...
  • chenlycly
  • chenlycly
  • 2012年04月10日 23:29
  • 1918

TCP的重传机制(转)

与数据链路层的ARQ协议相类似,TCP使用超时重发的重传机制。即:TCP每发送一个报文段,就对此报文段设置一个超时重传计时器。此计时器设置的超时重传时间RTO(Retransmission Tim...
  • seven407
  • seven407
  • 2011年03月22日 11:09
  • 1088

redis中的transaction

在The Little Redis Book一书中,提到了redis中transaction的概念,也就是事务,transaction能够保证以下特性: The commands will be ...
  • imred
  • imred
  • 2016年04月23日 13:32
  • 300
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Ruby-talk]对Fixnum与的讨论
举报原因:
原因补充:

(最多只允许输入30个字)