[问题] 请教有关于拆字排序的问题

楼主: timeregorge (Nick)   2014-05-12 22:48:42
这部分是我练习的code
words = ['demo', 'none', 'tied', 'evil', 'dome', 'mode', 'live',
'fowl', 'veil', 'wolf', 'diet', 'vile', 'edit', 'tide',
'flow', 'neon']
result = {}
words.each do |word|
key = word.split('').sort.join
if result.has_key?(key)
result[key].push(word)
else
result[key] = [word]
end
end
result.each do |k, v|
puts "
作者: rexkimta (冷杉林)   2014-05-12 23:01:00
其实你的理解大致上已经对了。
作者: rexkimta (冷杉林)   2014-05-12 23:03:00
简单来说就是字母组成相同的字会被放到同一KEY下面。
作者: danny8376 (钓到一只猴子@_@)   2014-05-12 23:50:00
那个if主要功能是将单字推入阵列里(放在hash里作为值)不过不能直接推入 因为初始值是nil 不是array
作者: danny8376 (钓到一只猴子@_@)   2014-05-12 23:51:00
要push进去前要先检查 不存在要初始化成array(所以是=)
楼主: timeregorge (Nick)   2014-05-19 00:02:00
非常谢谢您的解说!!

Links booklink

Contact Us: admin [ a t ] ucptt.com