我有一個循環,並在其中想要爲i +(i-1)的值分配一個字符串,但我不知道如何進展。紅寶石 - 字符串內的評估
(1..50).each do |i|
answer = "#{i+(i-1)}"
end
在此代碼中,答案必須是字符串,因爲它最終將與數據庫表相關。
什麼是最好的方式來評估這個字符串內,我已經嘗試了幾個變種,但沒有任何運氣,所以任何有用的指針將不勝感激。
我有一個循環,並在其中想要爲i +(i-1)的值分配一個字符串,但我不知道如何進展。紅寶石 - 字符串內的評估
(1..50).each do |i|
answer = "#{i+(i-1)}"
end
在此代碼中,答案必須是字符串,因爲它最終將與數據庫表相關。
什麼是最好的方式來評估這個字符串內,我已經嘗試了幾個變種,但沒有任何運氣,所以任何有用的指針將不勝感激。
也許這樣?
(1..50).map{|i| i + (i-1)}.map(&:to_s)
Map
將採取Rage
和執行加法寫入塊中的每個元件上,然後返回轉化Array
(Array
和Range
是可枚舉類型),我們一次傳遞更多的map
和&:to_s
是紅寶石的語法糖,輪流to_s
成一個可以傳遞給地圖的塊。它等於.map {|i| i.to_s}
請不要使用'sth'。 Stack Overflow不是一個論壇,它更像是一本在線參考書。我們重視正確的語法和清晰度。另外,請解釋爲什麼代碼是問題的解決方案。簡單地發出代碼只能解決這個問題。解釋爲什麼使用它會在將來出現類似問題時提供幫助。 –
對不起,我的壞。我按照你的建議糾正了它 – Jan
你想看到什麼結果? – rootatdarkstar
我想要一個格式的答案,如果我= 20,答案給出39等 – Nowandthen98
這可能是有用的,我們解釋爲什麼你想這樣做。通常不推薦將代碼粘貼到字符串中並對其進行評估,並且Ruby中有許多方法可以動態生成不使用'eval'的代碼。現在這聽起來像一個XY問題,你問的是Y而不是X. –