[問題] 請教有關於拆字排序的問題

作者: 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