问题标签 [ruby-hash]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arrays - 从数组中添加哈希
我正在尝试从具有相同键和平均值的多个哈希数组创建一个数组/哈希。我的数组:
现在我想返回这样的东西:
其中值是来自具有相同键的每个哈希值的平均值。
有没有一种简单的方法可以做到这一点。我曾尝试使用合并,但货币变为 0。
我的尝试:
编辑:
实际上我的问题并没有到此结束,所以在获得平均值后,我需要将值插入另一个哈希中。所以我用了这样的东西:
其中 offer_array 是我的原始/第一个数组在单独的哈希中的那个。我已经尝试过使用 2 和 3 哈希并且它正在工作。
如果你们对改进代码有任何建议,它是开放的。
arrays - 在Ruby中将嵌套哈希转换为二维数组
我想编写一个可以接收嵌套哈希并返回二维数组的嵌套数组的方法。
到目前为止,我有这个:
结果当然不可取
我怎样才能实现想要的结果?我也尝试过回避,但无法解决这个问题。
ruby - Ruby double splat 参数对 Hash 参数过于贪婪
在 Ruby 2.4.1 中,我有一个这样的方法:
我可以传入不是哈希的位置参数就好了:
如果我想使用命名参数,那也没关系:
但是尝试将 Hash 作为位置参数传递,会发生这种情况:
我*args
想拿{something: 42}
,没有**kwargs
。
位置参数必须是可选的,但即使*args
是arg=nil
,双 splat 仍然太贪婪:
当该方法也采用时,如何将哈希作为位置参数传递**
?
ruby-on-rails - 控制器中的 Rails 一次性对象
尝试将对象存储在数组中以在视图中进行迭代。
在我的控制器中:
在我看来,什么都没有显示,并且显示 @clients 数组会给出一个空数组:
我不确定我做错了什么,我似乎不能只创建一个临时对象来存储值并将其存储到数组中。任何帮助或建议都会有所帮助。
ruby - 如何访问数组内嵌套哈希中的两个元素?
我有以下带有嵌套哈希的数组:
如果想验证我是否可以订购带有两种配料的“水牛鸡”披萨。我使用该.map
方法遍历哈希数组以验证我想要的“风味”和我想要的“额外”(2 个浇头)是否可用。答对了!我使用的代码有效,返回 true,这两个元素确实可用。但是,如果我想检查“水牛鸡”风味是否可用并且 5 种浇头是否可用,那么它应该返回 false,但相反,我收到一条错误消息:
这是我的代码:
我试图弄清楚为什么我会返回 [] 而不是 false。也许我不理解 .map 用于迭代我的哈希数组的方式?在不改变我的哈希数组的结构的情况下,有人可以帮我理解吗?
ruby - 如何使用 Ruby 在哈希中获取键而不是键的值并省略“:”
所以我在下面有一个例子:
现在我得到的是value
key 的,但我希望得到的Key
只是puts
输出key
而不是value
.
我知道该解决方案可能会输出密钥,:key
而不是key
这样 id 还想知道如何在没有“:”的情况下返回密钥以用于显示目的。
注意:我已经使用谷歌进行了彻底的搜索,还没有找到解决这个问题的方法。
arrays - 在ruby中将值更新为哈希数组的有效方法?
我有一个哈希数组,如下所示:
我想更新cost to '8.00'
. id = 1
我已经尝试过each
类似下面的方法,但我想知道是否有另一种更有效的更新值的方法?
ruby - Ruby 哈希和用户输入
你好,我刚刚进入 ruby,我需要帮助来完成这项任务。任务是在这样的哈希中输入一周中的 7 天 {"Monday" => 1 , "Tuesday" =>2 ..etc} 当用户输入 1-7 之间的数字时,它会显示相应的日期. 因此,如果用户按下 5 ,它会输出“Friday”。到目前为止,我想出了这个:
ruby - Ruby改变哈希键的顺序
我有一个哈希,我想更改密钥顺序。
到:
可以通过hash["result"]["data"]
. 我试过;
但它给出了错误:
NoMethodError(17.1:Float 的未定义方法“删除”):