i want to convert numbers from regex to integer. I don’t know how to explain it clearly (my English is bad). So, I’ll go with an example:
regex = /data:\s*(\d+(?:\s*,\s*\d+)*)/i
string = "Data: 1, 2, 3, 4"
data = string.match(regex)
split_data = data[1].split(", ")
int_data1 = split_data.each {|i|i = i.to_i}
int_data2 = [1, 2, 3, 4]
p int_data1, int_data2
# int_data1 => ["1", "2", "3", "4"]
# int_data2 => [1, 2, 3, 4]
I expected int_data1 to return [1, 2, 3, 4], but it can't be converted to integer. So, it keeps return me ["1", "2", "3", "4"].
Is something I do wrong?
int_data1 = []; split_data.each {|str| int_data << str.to_i}each.[1,2,3,4].to_enum(:map).each { |x| x + 1 }->[2, 3, 4, 5]