我有一个像这样的数组:
'cars', 'for', 'racs', 'creams', 'scream'.
现在,我要做的是对这个数组中的每个单词/字符串进行排序,并将排序后的字符串作为值放入哈希中,而原始字符串是键。所以现在我有
KEYS - VALUES
cars - acrs
for - for
racs - acrs
creams - acemrs
scream - acemrs
代码是
sorted_words = Hash.new(0)
words.each { |word| sorted_words[word]=word.chars.sort { |a, b| a.casecmp(b) }.join
}
在此之后,我根据值对哈希进行排序
sorted_words = sorted_words.sort{|a1,a2| a1[1]<=>a2[1]}
并实现
scream - acemrs
creams - acemrs
racs - acrs
cars - acrs
for - for
而不是这个,我正在寻找像这样排列的哈希
cars - acrs
racs - acrs
creams - acemrs
scream - acemrs
for - for
所以,在上面的列表中,值在我现在得到的列表中的排序位置,但它也考虑了键值,所以这就是为什么首先是汽车,然后是具有相同值和奶油的所有其他键,然后是