ДК
Дмитрий Кислов

Вопрос касается тех, кто программирует в Ruby )

В чем допущена ошибка? (Пояснение расположено в конце исходника)
puts "Введите длину провода l"

l=Array.new
l[1]=gets

puts "Введите площадь поперечного перереза S"

s=Array.new
s[1]=gets
puts "Укажите напряжение"

u=Array.new
u[1]=gets
puts "Введите значение опоры"
p=gets
p=Array.new
p[1]=gets

a=l[1]
b=s[1]
c=u[1]
d=p[1]

puts "Согласно условию задачи, программа должна вычислить силу тока в медном проводнике"
puts "Для начала найдем значение опоры проводника"
r=d*a/b
puts "Значение опоры равно" +r
puts "Вычисляем значение силы тока"
i=u/r
puts "Значение силы тока равно" +i

При вводе значений в массивы, оператор выдает сообщение об ошибки такого характера
physic.rb:31:in `*': can't convert String into Integer (TypeError)
from physic.rb:31

СВ
Светлана Вершинина

> can't convert String into Integer (TypeError)
Несовпадение типов, ты пытаешься манипулировать строкой, как числом, например использовать ее в каких-то вычислениях

> puts "Введите длину провода l"
> l=Array.new
> l[1]=gets

Возможно, в этом и есть какой-то смысл, но мне кажется, что это довольно странный способ получить числовое значение. В общем без полного текста программы непонятно, что тут происходит. Ты пытаешься заполнить массив строками?

Может стоит делать так:

print "Введите длину провода l: "
l = gets.to_f

В переменной l будет вещественное значение.

Похожие вопросы
как запустить на сервере Ruby on Rails?
Есть вопрос касающийся ФОТОШОПА! ПОМОГИТЕ???
Вопрос касается программирования
Вопрос касающийся программы Steam.
как обновить ruby в mac os?
Вопросы, касающиеся насчет программирования
ubuntu ruby gem rails
Покажите пример рекурсии в Ruby.
Как в ruby сделать рандом чисел в цикле?
Язык программирование Ruby, помогите кто знает