Форум программистов, компьютерный форум, киберфорум
Наши страницы
Ruby
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
EvilDog17
11 / 11 / 8
Регистрация: 06.01.2018
Сообщений: 134
#1

Перебор символов введённой строки

09.01.2018, 23:10. Просмотров 899. Ответов 2

Допустим у нас есть следующая прога:
Ruby
1
2
3
4
5
6
7
8
9
10
11
a=gets
case a
  when "a"
    puts "cat"
  when "b"
    puts "dog"
  when "c"
    puts "bird"
  else
    puts "error"
end
Получается, чтобы не было ошибки, пользователь должен ввести либо a, либо b, либо c.
А как сделать так, чтобы, если пользователь вводит, допустим, abccb, то вывод не является ошибкой, а является исполнением кода для каждого символа ввода?
Т. е.
cat
dog
bird
bird
dog
Всем заранее спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2018, 23:10
Ответы с готовыми решениями:

Удаление символов из введённой строки
Помогите оптимизировать код :D using System; using...

Вывод на экран введённой строки символов
Всем доброй день, преподаватель дал задание: Пользователь вводит с клавиатуры...

Определить количество символов введённой строки
Написать программу, которая позволяет вводить с клавиатуры строку, содержащую...

Определить количество символов введённой строки
1) Написать программу, которая позволяет вводить с клавиатуры строку,...

MASM32: Удалить все нули из введённой строки символов
Помогите написать на ассемблере код программы, который будет удалять все нули...

2
j2FunOnly
Модератор
827 / 794 / 471
Регистрация: 05.06.2015
Сообщений: 1,854
10.01.2018, 09:23 #2
Лучший ответ Сообщение было отмечено EvilDog17 как решение

Решение

Вам надо пройти по символам строки String#each_char. Кстати, метод gets возвращает строку вместе с символом перевода строки, поэтому в вашем примере всегда будет "error", используйте String#strip.
Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
print "Type string and hit enter: "
a = gets.strip
 
a.each_char do |chr|
  case chr
  when "a"
    puts "cat"
  when "b"
    puts "dog"
  when "c"
    puts "bird"
  else
    puts "error"
  end
end
1
EvilDog17
11 / 11 / 8
Регистрация: 06.01.2018
Сообщений: 134
11.01.2018, 21:14  [ТС] #3
Большое спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2018, 21:14

Использование регулярных выражений для проверки введённой строки на наличие определённых символов
Подскажите как реализовать: Нужно чтобы при указании имени папки скрипт...

Перебор символов строки в Memo
доброго времени суток! подскажите, пожалуйста, как перебрать символы строки?...

Перебор символов строки в цикле
Интересное поведение функций работающих с типом String: если в строке есть...


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

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

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