Фрагменты кода надо размещать в виде текста и оборачивать тэгом code для корректного отображения. Удобно делать кнопкой </> Это обязательно, см.п.3.8 Регламента.
Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.
loop() запускается циклически, снова и снова.
r - глобальная переменная, которая сохраняет значение между вызовами loop().
Так что, как только ты задал r правильное значение - при последующих вызовах if (r.value == ...) будет отрабатывать каждый раз, пока значение r не сменится.