因此,對於比賽我的工作,讓我們說我說得有點文本在法術的評論框:(Ruby)將字符串轉換爲一行代碼?
<secondary effects: [["Flame", 15, true], ["Poison", 0.08, true]]>
通過使用條功能,我可以減少文本下跌到:
[["Flame", 15, true], ["Poison", 0.08, true]]
,然後將其存儲在data
變量,所以
data = "[["Flame", 15, true], ["Poison, 0.08, true]]"
現在,我怎麼能轉換本文翻譯成代碼,這樣我就可以在法術的傷害過程中做出的條件,如:
if data[0][2] == true then *something* end
很顯然,我不能在文本中使用eval
爲了使其成爲數據。
暗示'eval'沒有關於其用法的警告不是一個好主意。當某人輸入'rm -rf /'到該框中時的圖像... – spickermann
建議僅將字符串轉換爲不是整個代碼。但是如果是這種情況,你可以使用'[[「Flame」,15,true],[「Poison」,0.08,true]]。'gsub(/ [\ [\]] /,'') .split(「,」)。each_slice(3).to_a,您可以根據需要使解決方案更具動態性。 –