所以我没有太多Ruby
知识,但需要编写一个简单的脚本。我将尝试详细解释我的困境,但如果您仍需要澄清,请告诉我。
我的脚本每组包含 3 个数字。比方说,例如,我们有每个人的这三条信息:Age, Size, and Score
。所以,我需要有一种方法来评估一个人是否存在一定的年龄和体型。如果是这样,那么我想输出那个人的分数。
我知道跟踪此信息的唯一方法是创建3 separate arrays
,每个都包含一个information
. 我可以检查年龄是否包含在一个数组中,如果是,我可以找到它的索引(每个类别中的每个值都是唯一的——因此不会重复“年龄”、“大小”或“分数”)。然后我可以检查大小数组中相同索引处的值是否与指定大小匹配。如果是这样,我可以输出在同一索引处的第三个数组中找到的分数。我宁愿不这样做,而是将每个人的年龄、体型和分数保持在一起。
所以,我在这样的数组中尝试了数组:
testarray = [
[27, 8, 92],
[52, 12, 84]
]
但是,问题在于我不确定如何访问这些子数组中的值。所以我知道我可以使用类似 testarray.include?(27) 的东西来检查主数组中是否存在 27,但是我将如何检查 27 和 8 是否是 testarray 子数组中的前两个值,如果是,然后输出 的第三个值subarray
,92。
然后我尝试了一个哈希数组,如下所示:
testarrayb = [
{ :age => 27, :size => 8, :score => 92 },
{ :age => 52, :size => 12, :score => 84 }
]
我知道我可以testarrayb[0][:score]
用来获取 92,但我如何首先检查数组是否包含一个同时具有指定年龄和大小的哈希,如果是,则输出该哈希的分数?类似于testarrayb[:age].include?(value)
检查每个哈希的年龄,然后检查相同哈希的大小。如果两者都匹配指定值,则输出该哈希的分数。
如果有人能指出我正确的方向,我将不胜感激。如果您建议这样做,请随意展示一种更有效且完全不同的技术。谢谢你的时间!