gpt4 book ai didi

Ruby Hash.new 与哈希文字

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

我正在调用传递一些键/值对的第 3 方 API(用 PHP 编写)。

此代码有效:

h = Hash.new
h['first_name'] = "Firstname"
h['last_name'] = "Lastname"
APICall([h]) # Record gets created

这不是:

h = {'first_name' => "Firstname", 'last_name' => "Lastname"}
APICall([h]) # Record does not get created

当我在两个实例中将哈希转储到控制台时,我得到了相同的数据结构。那么,为什么第一种方法有效而第二种方法无效呢?

编辑: 不确定这是否重要,但我使用的是 Ruby 1.8.7p72/Linux。键/值对之一也是 Base64 编码的图像字符串。

最佳答案

正如 Hash 类的文档所述:

[](*args) 公共(public)

创建一个填充给定对象的新散列。 等同于文字 { key => value, … }。在第一种形式中,键和值成对出现,因此必须有偶数个参数。第二种和第三种形式采用单个参数,该参数可以是键值对数组或可转换为散列的对象。

Hash["a", 100, "b", 200]             #=> {"a"=>100, "b"=>200}
Hash[ [ ["a", 100], ["b", 200] ] ] #=> {"a"=>100, "b"=>200}
Hash["a" => 100, "b" => 200] #=> {"a"=>100, "b"=>200}

http://apidock.com/ruby/Hash/%5B%5D/class

所以至少 Hash[] 应该具有与 {...} 相同的行为>

关于Ruby Hash.new 与哈希文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9378624/

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