Почему, если не закрывать строчки цикла знаком ";" в языке 1С, синтаксическая ошибка не обнаруживается и код прекрасно работает?
Код, написанный без использования точек с запятой (рис. 1)
Код автора курса, содержащий ";" (рис. 2)
Автор курса часто использует точку с запятой, исходя из правил синтаксиса, но я убедился, что и без них всё работает, хотя по опыту других языков программирования знаю, что часто строчку нужно закрывать ";"
Ответы (1 шт):
Автор решения: Sagittarius
→ Ссылка
В данном случае у тебя не возникает ошибки, так как твоя конструкция крайняя в процедуре. Если не ставить точку с запятой в самой последней строчке кода в процедуре/функции - программа не будет ругаться.
Если сделать так, то поругается:
Процедура Пример()
Если Истина Тогда
Сообщить("Пример 1");
КонецЕсли
Если Истина Тогда
Сообщить("Пример 2");
КонецЕсли;
КонецПроцедуры
Вот так не поругается:
Процедура Пример()
Переменная1 = 10;
Если Истина Тогда
Сообщить("Пример 2");
КонецЕсли;
Переменная1 = 10
КонецПроцедуры

