我希望能够使用Ruby在更大的字符串中找到所有出现的子字符串的索引.例如:"爱因斯坦"中的所有"in"
str = "Einstein"
str.index("in") #returns only 1
str.scan("in") #returns ["in","in"]
#desired output would be [1, 6]
Run Code Online (Sandbox Code Playgroud) 我是红宝石的初学者,试图用它来帮助我分析生物数据.我需要尝试将一组数据(数组中的数字)与具有特定特异性的数据(例如数字+/- 0.25)相匹配我已经提出这个(到目前为止)将一个数据集更改为范围而不是数字:
def range(arr)
c = []
arr.each do |b|
b = (b-0.25..b+0.25)
b = b.to_a
c << b
end
c = c.flatten
return c
end
Run Code Online (Sandbox Code Playgroud)
代码给出了所需的数组,但我总是得到
TypeError: can't iterate from Float.
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
这是我的实际数据样本:
119.0456 119.0714 119.0721 119.0737 120.0772 130.0746 131.0737 136.0721 140.0951 143.0697 154.038 154.0744 154.1108 155.0949 156.054 169.053 170.1422 171.0646 171.0686 174.0644 174.0795 180.0539 182.1059
我需要将它与理论集匹配,我需要生成容差为0.002我正在逐步编写代码以生成我的理论集,因为我还是新编码,只是想知道如何在我的理论集合周围创建一个+/- 0.002的范围,以使其与实际的一致.
ruby ×2