加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Ruby中,’size’和’length’之间绝对没有区别?

发布时间:2020-12-17 01:42:43 所属栏目:百科 来源:网络整理
导读:在size的文档中,我们可以读取 here,’size()是长度的别名’.对于长度( doc)“返回self中的元素数.可以为零.”和那个长度“也别名为:大
在size的文档中,我们可以读取 here,’size()是长度的别名’.对于长度( doc)“返回self中的元素数.可以为零.”和那个长度“也别名为:大小”.功能可能非常相似,但我想知道不同的实现是否包含除了返回数组或集合中的元素数量之外的任何其他功能.单词长度和大小似乎意味着差异,特别是因为大小会指示我以字节而不是元素数量来考虑内存大小.

解决方法

这是完全相同的实现.

你可以在source code of Ruby 2.3.1中看到这是一个别名:

rb_define_alias(rb_cArray,"size","length");

此外,如果您查看pry和pry-doc,您可以看到它执行的代码完全相同:

[1] pry(main)> list = [1,2]
=> [1,2]
[2] pry(main)> $list.size

From: array.c (C Method):
Owner: Array
Visibility: public
Number of lines: 6

static VALUE
rb_ary_length(VALUE ary)
{
    long len = RARRAY_LEN(ary);
    return LONG2NUM(len);
}
[3] pry(main)> $list.length

From: array.c (C Method):
Owner: Array
Visibility: public
Number of lines: 6

static VALUE
rb_ary_length(VALUE ary)
{
    long len = RARRAY_LEN(ary);
    return LONG2NUM(len);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读