Ruby интерполяция строк

На вход функции подаётся строка(пример "1+2+3"), вернуть результат(то есть посчитать). Я преобразую строку из "14+3" в "#{14+3}". Почему не считает, а оставляет так как есть?

def calculateStr(str)
    str.insert(0, "#")
    str.insert(1, "{")
    str.insert(str.size, "}")
end

Ответы (1 шт):

Автор решения: Lyamshin

Чтобы "посчитать" например, "1+2+3", можно проще сделать:

eval("1+2+3") # => вернет 6

Т.о. в вашем методе надо добавить в конце метода строку(чтобы получить ожидаемый вами результат, вы же просто модифицировали строку до этого)

eval(str)
→ Ссылка