我有一个循环,并在其中想要为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. –