gpt4 book ai didi

Ruby 的返回值

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:06 25 4
gpt4 key购买 nike

我对 Ruby 中的返回值感到困惑。例如,如果我这样做

(1..5).each {|i| puts 2*i}

返回

=> 1..5

我只是不知道为什么会这样。似乎有时它会返回多个变量?

最佳答案

ruby 中的一切都是表达式。* 表达式有一个值。 each 计算它迭代的对象。在本例中,它是一个 Range 对象。

看看definition of Array#each :

               VALUE
rb_ary_each(VALUE array)
{
long i;
volatile VALUE ary = array;

RETURN_ENUMERATOR(ary, 0, 0);
for (i=0; i<RARRAY_LEN(ary); i++) {
rb_yield(RARRAY_PTR(ary)[i]);
}
return ary;
}

对于输入数组中的每个元素,它调用 block ,然后返回输入数组。

* 在我的脑海中,我无法用 ruby​​ 命名一个不是表达式的东西。

关于Ruby 的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14319488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com