gpt4 book ai didi

ruby - 为什么关键字参数必须作为带有符号键的散列传递,而不是 Ruby 中的字符串键?

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

我们不能将关键字参数作为带有字符串键的散列传递,关键字参数仅适用于作为符号键的散列。

一个简单的例子:

def my_method(first_name:, last_name: )
puts "first_name: #{first_name} | last_name: #{last_name}"
end

my_method( {last_name: 'Sehrawat', first_name: 'Manoj'})
#=> first_name: Manoj | last_name: Sehrawat

my_method( {first_name: 'Bob', last_name: 'Marley'})
#=> first_name: Bob | last_name: Marley

my_method( {'first_name' => 'Kumar', 'last_name' => 'Manoj'})
#=> Error: missing keywords: first_name, last_name (ArgumentError)

背后的原因是什么?

最佳答案

简短的版本是因为 Matz 是这样说的 - 在这个 ruby 矿上 issue他评论

I am negative for the proposal. My opinion is that you should not (or no longer) use strings as keywords.

真正的问题是围绕着由此而发生的事情,但如果 Matz 拒绝,那它就不太可能发生。不知道他有没有进一步说明反对的原因。

关于ruby - 为什么关键字参数必须作为带有符号键的散列传递,而不是 Ruby 中的字符串键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28476970/

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