今天我從我的老人有一個非常困難的任務(也許只是對我來說很難)。紅寶石相同的元素數組或值在散列,團結它,
的任務是這樣的:
他給我幾個字符串數據(準確地說8個字符串數據)。我可以選擇將其存儲在數組或散列中。
"hello", "you", "great", "you", "great", "hello", "great", "great"
現在我必須結合這些字符串中的相同數據。我的意思是如果我把它們放入數組中。
myary = ["hello", "you", "great", "you", "great", "hello", "great", "great"]
我必須使它成爲這樣
myary = ["hello x2", "you x2', great x4"] # I need to append "x" and a variable indicating the total sum of every same string in the array.
,如果我想我可以使用哈希值,但問題是,我無法找到一個好辦法做到這一點。我奮鬥了幾個小時,這是徒勞的。我能做的最好的是這裏:
我將它們存儲在一個散列。
myhash = {
1 => "hello",
2 => "you",
3 => "great",
4 => "you",
5 => "great",
6 => "hello",
7 => "great",
8 => "great",
}
然後我寫這篇文章的代碼:
myarray = []
@variable = 0
for i in 1..myhash.length
for j in 1..myhash.length
@variable += 1 if myhash[i] == myhash[j]
end
myarray[i] = myhash[i] << " x#{@variable}"
@variable = 0
end
puts myarray
這會給輸出:
hello x2 # This nice "hello" is 2
you x2 # This good "you" indeed is 2
great x4 # This perfect "great" is 4 <= Everything great 'till here. But...
you x1 # Why?
great x3 # What the..?
hello x1 # Oh c'mon..
great x2 # Okay, I'm screwed
great x1 # Stackoverflow help me!!
正如你可以看到我搞砸了,我知道的代碼是錯誤的,但相信我,因爲這件事,我差點把我的頭撞到牆上。有人請,我需要認真的幫助。 哦,我想確定一些事情,這項任務是否有可能完成?我只是想確保我的大四不是在挑剔我的任務。但事實上,我想知道這是否真的有可能。 對不起,如果我做錯了什麼。非常感謝你。請不要燃燒:)畢竟我只是問,如果你覺得不喜歡回答或其他問題,那就乾脆離開。肯定的答覆非常感謝。
Woaah,這真是太好了,我從來沒有知道GROUP_BY方法。非常感謝。 :) – LuminaChen