задача 7.4. Вот тут (пока пользователь не введёт "х") с двойными "" программа считает неправильно

[А] Александр Мастяев, 21 ноября 2018, 17:29 , 3 подписчика

кусок кода:

while (input != "x")

Product.showcase(goods_on_stock)

input = STDIN.gets.chomp
    if (input != "x") 
        product = goods_on_stock[input.to_i]
        total_sum += product.buy
    end
end

puts "Спасибо за покупки. С Вас #{total_sum} руб."

При вводе "х" на выходе получаю ожидаемый выход из цикла, но при этом к сделанным покупкам подтягивается ещё и первая строчка из массива "товаров на складе". Когда подсмотрел в ответе, что 'x' взят в одинарные кавычки, всё заработало как надо. Про разницу между " и ' знаю то, что в "" руби вычисляет. Но в данном случае - что происходит с одним-единственным символом "х"?

Обсуждение (4)


Michael Butlitsky Учитель

[M]

Разметьте пожалуйста код с правильными отступами (сразу станет нагляднее) и приложите еще вывод скрипта, который вас удивляет.


Вадим Венедиктов Учитель

[В]

(правильные отступы — это два пробела, вот здесь подробнее)


Александр Мастяев

[А]

вопрос снимается, разобрался


Вадим Венедиктов Учитель

[В]

Отлично!