gpt4 book ai didi

ruby - ruby 1.9.3 有关键字参数吗?

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:29 25 4
gpt4 key购买 nike

我能找到的所有文档都说直到 Ruby 2.0 才引入关键字参数。

但 Array#shuffle 看起来需要一个名为“random”的关键字参数:http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-shuffle

这是关键字参数吗?如果不是,那是什么? ruby 1.9.3 中关键字参数还有哪些其他用途?

最佳答案

Ruby 1.9.3 没有命名参数,但为散列添加了额外的糖分。所以 {:key => 'val'} 等同于 {key: 'val'}。您看到的是一个散列作为参数传递。

如果您查看所指方法的源代码,您会看到:

rb_ary_shuffle(int argc, VALUE *argv, VALUE ary)
{
ary = rb_ary_dup(ary);
rb_ary_shuffle_bang(argc, argv, ary);
return ary;
}

shuffle! 方法中,您可以通过查看这部分来确认它是一个哈希:

 if (OPTHASH_GIVEN_P(opts)) {
randgen = rb_hash_lookup2(opts, sym_random, randgen);
}

关于ruby - ruby 1.9.3 有关键字参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16616546/

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