Урок 7: Циклы. Все что нужно о них знать

preview_player
Показать описание

План видео:

0:17 — Приветствие, план урока
0:42 — Циклы: что это и зачем нужны
2:33 — Циклы: пишем цикл while
6:57 — Циклы: бесконечный цикл
8:13 — Циклы: пишем цикл for
11:52 — Ввод данных в цикле, пишем программу «Элис»
16:13 — Итоги урока

#Ruby #Ruby_Курсы

Онлайн-курс Настоящее программирование для всех 1.

© Хороший программист, 2015
Рекомендации по теме
Комментарии
Автор

Если у кого-то в проге не высвечиваются именно те символы, которые вы ввели (в том случае, если это русские буквы), то прост вставьте в НАЧАЛЕ кода вот это:

if (Gem.win_platform?)
Encoding.default_external =
Encoding.default_internal = __ENCODING__

[STDIN, STDOUT].each do |io|
io.set_encoding(Encoding.default_external, Encoding.default_internal)
end
end

Не благодарите))) Прости я как-то начал вводить имена на русском, а оно мне знаки вопроса вместо этого выдаёт. Тип С нами ????
С нами ????
и т.д.
Ну вот просто вставил этот код в начало и всё заработало (у меня самая последняя версия Ruby. Ну логично, сейчас же 2021 год).

Ololelolalolegatron
Автор

b=["Раз", "Два", "Три", "Четыре", "Пять"]

z=0
while
z<b.length do
sleep 1
puts b[z]
z+=1
end
sleep 0.5
puts "Я иду искать!"

crissquest
Автор

Прошу прощения, ещё вопрос. Есть ли разница между " " и ' ' ?

Egcentrism
Автор

И еще вопрос: почему condition для if вы заключаете в скобки, а условие для того же while - нет. Хотя что на tutorialspoint, что на Learn Ruby Hard Way этого не делается для обоих операторов. Дело вкуса? Вопрос привычки? Или некий признак bon ton (good practice?) в среде ruby-программистов?

s.d.
Автор

До этого урока все было абсолютно понятно и прозрачно (т.к. проходил до этого небольшой курс по основам программирования на JS). Но в этом уроке цикл for ("ruby edition") меня озадачил: привык в нём видеть счетчик с заданным шагом.

А могу ли я в ruby для for задать шаг? И не лучше ли для перебора всех элементов массива использовать метод each, как это предлагает ruby-lang.org?

Мда, похоже, на освоение этого урока у меня уйдет гораздо больше времени, чем я предполагал)

s.d.
Автор

В коде есть недочет. Последняя пустая строка тоже записывается в массив. Подозреваю это особенности gets. Как вариант можно удалить последний элемент массива. Но как лучше это исправить?

viktorb
Автор

Возникла проблема, помогите её решить.
Я не могу запустить программу после ввода данных ( имён ) в командной строке.
Винда пиратская, может дело в этом ? Хотя до этого проблем не возникало.

alekseyy
Автор

Почему перед тем как прибавить единицу стоит знак "+=", а не просто "+"?

Egcentrism
Автор

Удивило то, что нельзя делать "count++", как на всех остальных языках которые знаю

ovobehko