我要做的是通过哈希函数输入数字,并将结果哈希存储到数组中。我试图找出是否有任何数字导致在最后一个字符中匹配的类似哈希值。我正在尝试找到最大的匹配字符。
我创建了一个哈希数组。 我的代码是这样的:
创建哈希数组
I = 1
用i做一些计算,用新结果称它为'结果'
然后我将结果放入哈希指向创建它的内容中 散列[结果] = I
所以我有这样的事情:
{ “ABCD”=大于1}
增量i 循环直到某种情况
所以当我增加i,并且我再次通过一些计算时,我想通过首先比较结果末尾的字符来检查是否与之前的结果有任何相似之处
说当我把2放在我的计算中时我得到了“hwed”,我想要一种方法来比较并看到最后一个字符中的“abcd”和“hwed”匹配。有谁知道我怎么做。
答案 0 :(得分:0)
您尝试做的事情(执行一系列操作并存储每个计算的结果)可以简单地完成,尽管在Ruby中经常有很多其他可能的方法。
您还没有充分解释您的问题,无法理解您实际想要实现的目标。但是为了一般意义上的帮助:
hash = {
word1: { word: "cat", computations: [] }
word2: { word: "dog", computations: [] }
word3: { word: "pig", computations: [] }
}
hash.each do |key, val|
# each key is a symbol and each val is a hash
100.times do
val[:computations] << val[:word].chars.shuffle.join
end
end
所以现在computations
数组中填充了100个word
字符串的shuffle。此时,您可以使用计算数组执行任何操作(例如比较)