Тема:
Базовый синтаксис
Циклы
Цели:
Не прекращай уклонятся от огненных шаров
Бонус за краткость кода:меньше 4 строк
Руководство:
Введение:
Избегайте огненных шаров двигаясь right и left.
Используйте while-true цикл чтобы повторять действия до бесконечности:
Python:
1 2 |
while True: self.moveLeft() # Это действие будет повторяться снова и снова. |
JavaScript:
1 2 3 |
while (true) { this.moveLeft(); // Это действие будет повторяться снова и снова. } |
CoffeScript:
1 2 |
while true @moveLeft() # Это действие будет повторяться снова и снова. |
Clojure:
1 2 3 |
(while true (.moveLeft this) ) |
LUA:
1 2 3 |
while true do self:moveLeft() end |
Обзор:
Код обычно выполняется в том порядке, в котором он написан. Циклы позволяют повторять часть кода множество раз не переписывая его.
Использование while-true циклов
Мы начинаем их использование при помощи ключевого слова while. Оно говорит вашей программе повторять тело цикла ПОКА (по-английски WHILE) пока нечто истинно (по-английски true).
Сейчас мы хотим чтобы наши циклы выполнялись вечно, поэтому пока мы будем пользоваться while-true циклом. Потому что истина (true) всегда истинна (true)!
Не переживайте по поводу того, что пока вам не очень понятно то что здесь говорится про это true. Мы объясним это позже. Просто запомните что while-true цикл — это цикл, который выполняется без конца.
Вот пример использования while-true цикла в коде:
Python:
1 2 3 4 5 6 7 |
# Начните while-true цикл с "while True:" # Все строчки под while которые набраны с отступом (начинаются четырьмя пробелами) находятся ВНУТРИ цикла. while True: self.moveRight() self.moveLeft() self.say("Эта строка не внутри цикла!") |
JavaScript:
1 2 3 4 5 6 7 8 9 10 |
// Начните while-true цикл с "while(true) {" // Всё что располагается между { и } находится ВНУТРИ цикла. while(true) { this.moveRight(); this.moveLeft(); } this.say("Эта строка не внутри цикла!"); // Совет: отступы (пробелы в начале строчек) не обязательны, но делают ваш код более читабельным! |
CoffeScript:
1 2 3 4 5 6 7 |
# Начните while-true цикл с "while true" # Все строчки под while которые набраны с отступом (начинаются четырьмя пробелами) находятся ВНУТРИ цикла. while true @moveRight() @moveLeft() @say "Эта строка не внутри цикла!" |
Clojure:
1 2 3 4 5 6 7 8 9 10 |
; Начните while-true цикл с "while true do" ; Любые строчки между "do" и "end" находятся ВНУТРИ цикла. (while true (.moveRight this) (.moveLeft this) ) (.say this "Эта строка не внутри цикла!") ; Совет: отступы (пробелы в начале строчек) не обязательны, но делают ваш код более читабельным! |
LUA:
1 2 3 4 5 6 7 8 9 10 |
-- Начните while-true цикл с "while true do" -- Любые строчки между "do" и "end" находятся ВНУТРИ цикла. while true do self:moveRight() self:moveLeft() end self:say("Эта строка не внутри цикла!") -- Совет: отступы (пробелы в начале строчек) не обязательны, но делают ваш код более читабельным! |
Танцы с огнём, прохождение:
Python:
1 2 3 4 5 6 7 |
# Обычно код выполняется в том порядке, в каком он написан. # Циклы позволяют повторять кусок твоего кода множество раз. # Тебе необходимо нажать tab (или вставить 4 пробела) для отступа строк в теле цикла. while True: self.moveRight() # Комментарии ниже покажут как сделать цикл. self.moveLeft() |
JavaScript:
1 2 3 4 5 6 7 8 |
// Обычно код выполняется в том порядке, в каком он написан. // Циклы позволяют повторять кусок твоего кода множество раз. // Тебе необходимо нажать tab (или вставить 4 пробела) для отступа строк в теле цикла. while(true) { this.moveRight(); // Комментарии ниже покажут как сделать цикл. this.moveLeft(); } |
CoffeScript:
1 2 3 4 5 6 7 |
# Обычно код выполняется в том порядке, в каком он написан. # Циклы позволяют повторять кусок твоего кода множество раз. # Тебе необходимо нажать tab (или вставить 4 пробела) для отступа строк в теле цикла. while true @moveRight() # Комментарии ниже покажут как сделать цикл. @moveLeft() |
Clojure:
1 2 3 4 5 6 7 8 |
;; Обычно код выполняется в том порядке, в каком он написан. ;; Циклы позволяют повторять кусок твоего кода множество раз. ;; Тебе необходимо нажать tab (или вставить 4 пробела) для отступа строк в теле цикла. (dotimes [n 1000] (.moveRight this) ;; Комментарии ниже покажут как сделать цикл. (.moveLeft this) ) |
или
1 2 3 4 5 6 7 8 |
;; Обычно код выполняется в том порядке, в каком он написан. ;; Циклы позволяют повторять кусок твоего кода множество раз. ;; Тебе необходимо нажать tab (или вставить 4 пробела) для отступа строк в теле цикла. (while true (.moveRight this) ;; Комментарии ниже покажут как сделать цикл. (.moveLeft this) ) |
LUA:
1 2 3 4 5 6 7 |
-- Обычно код выполняется в том порядке, в каком он написан. -- Циклы позволяют повторять кусок твоего кода множество раз. -- Тебе необходимо нажать tab (или вставить 4 пробела) для отступа строк в теле цикла. while true do self:moveRight() self:moveLeft() end |
Комментарии: