Форум программистов, компьютерный форум, киберфорум
Наши страницы
Ruby
Войти
Регистрация
Восстановить пароль
 
Ыых
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 8
1

Не выполняется программа, если переменная задана русскими буквами

06.10.2016, 11:11. Просмотров 339. Ответов 2
Метки нет (Все метки)

И снова здравствуйте. Возник еще вопрос. Для изучения RUby юзаю связку notepad++ + (сорри за тавтологию) интерпретатор RUBY 2.3.1. В процессе написания кода столкнулся с неприятной особенностью.
Есть следующая программка:

Ruby
1
2
3
4
5
6
7
command = ''
while command != 'Пока'
command = gets.chomp
puts command
 
end
puts 'Приходите еще!'
Так вот, если в ходе ее выполнения ввести слово "Пока", то она не выводит "Приходите еще", а выводит в ответ опять же "Пока", т.е воспринимает его как gets.chomp
Но если я слово "Пока" в переменной command заменю словом , написанным английскими буквами, т. е "Bye", то программа выполняется без проблем.
Подскажите, пожалуйста, с чем это может быть связано?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2016, 11:11
Ответы с готовыми решениями:

Символьная переменная char: составить своё полное имя русскими буквами
Задача состоит в том, нужно составить своё полное имя русскими буквами, как это сделать?

Программа не хочет работать с русскими буквами
Здравствуйте! Программа инвертирует цифры в 8 системе счисления, и должна преобразовывать...

Сравнивает ли значения функция srtcmp, если они введены русскими буквами?
Сравнивает ли значения функция srtcmp,если они введены русскими буквами?

Программа, которая переводит строчные в прописные, некорректно работает с русскими буквами
Вот программа,которая переводит строчные в прописные.С английскими буквами все хорошо,но когда...

Шифрование, программа работает с английскими буквами, а нужно чтобы работало с русскими
31 буква русского алфавита Ё буквы не должно быть, слово КРИПТОГРАФИЯ const TPolibius: array of...

2
Мотороллер
434 / 245 / 43
Регистрация: 05.08.2013
Сообщений: 1,666
Завершенные тесты: 1
06.10.2016, 12:43 2
Ruby
1
command.mb_chars.to_s
0
j2FunOnly
Модератор
Эксперт JS
1362 / 1162 / 619
Регистрация: 05.06.2015
Сообщений: 2,535
06.10.2016, 16:12 3
Ыых, оформляйте код в сообщениях специальными тэгами, пожалуйста.

Проверьте кодировку файла скрипта. Сравните с тем, что приходит из stdin: p command.encoding, наверняка какой-нибудь Encoding:IBM866.
Если файл скрипта у вас в UTF-8, то
Ruby
1
2
3
4
5
until (command = gets.chomp.encode Encoding::UTF_8) == 'Пока'
  puts command
end
 
puts 'Приходите еще!'
Добавлено через 6 минут
Чтиво
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2016, 16:12

Как проверить открыта ли книга если ей задана переменная (excel 2010)
При заданном условии (А, В, С) должна открыться определенная книга, задача проверить открыта ли она...

Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же текст, записанный заглавными буквами
Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же...

Задана 32-х битная переменная и набор 32-битных флагов. Если бит в заданной переменной равен единице то считать,что соответствующий флаг установлен...
Задана 32-х битная переменная и набор 32-битных флагов. Если бит в заданной переменной равен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.