我有一些問題。我有很多帶鑰匙和鑰匙的琴絃,鑰匙總是一樣的。字符串看起來像「key1 = value1; key2 = value2 ...」。所以我做了全球哈希與數組作爲值,並希望從字符串中的所有數據存儲到散列所以我做了功能:如何在方法中添加全局哈希值? RoR
<%
$all={}
for len in (0..$authors.length-1)
$all[$authors[len]] = Array.new #authors are defined and filled earlier
end
def add_hash(from)
the_from = from.to_s.split(";")
for one in the_from
splitted = one.split("=")
for j in (0..$authors.length.to_i-1)
if($authors[j] == splitted[0])
$all[$authors[j]] << splitted[1]
end
end
end
end
%>
,但它似乎沒有工作,是錯誤的東西在我的代碼? (注意:我只能在Rails代碼使用Ruby)
定義「不起作用」。如果你期望它做某件事,你永遠不會*調用*'add_hash'。不確定初始hash init的作用是什麼,你可以在'Hash'構造函數中設置一個默認的散列值。不知道爲什麼這是看起來是ERB模板的原因。 –
是的,這個問題很糟糕。你能給出一個所有變量的預期輸入和輸出的例子嗎?我不明白'$ authors'是由什麼組成的。另外,請注意,變量沒有用$ sign in ruby命名。你也可以使用'array.each_with_index {| value,index | #你的代碼}'。 –