Ruby中,'size'与'length'有何本质差异,竟无二致?

2026-04-10 07:131阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计334个文字,预计阅读时间需要2分钟。

Ruby中,'size'与'length'有何本质差异,竟无二致?

在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,您可以看到它执行的代码完全相同:

Ruby中,'size'与'length'有何本质差异,竟无二致?

[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); }

本文共计334个文字,预计阅读时间需要2分钟。

Ruby中,'size'与'length'有何本质差异,竟无二致?

在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,您可以看到它执行的代码完全相同:

Ruby中,'size'与'length'有何本质差异,竟无二致?

[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); }