Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: надо ставить " ; " где следом идет скобка " } " или и так норм
Val_027
Отправлено: 10 Июня, 2020 - 13:26:33
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 114
Дата рег-ции: Февр. 2020  
Репутация: 0




Обычно я не ставлю ";" там где скобка закрывается как тут sleep(100)} и все работает Но как то вот все же надо ставить и почему если надо !!!!!


так я обычно пишу
if(findimage(1,#РОЗА[0][0],0,#X,#Y,0,0,1900,1000,-1)!=0)
{mouse(RIGHT,X+15,Y+15);mousemove(X+15,Y+15);sleep(100)} // ПРОДАТЬ

или все же так
if(findimage(1,#РОЗА[0][0],0,#X,#Y,0,0,1900,1000,-1)!=0)
{mouse(RIGHT,X+15,Y+15);mousemove(X+15,Y+15);sleep(100) ; } // ПРОДАТЬ
 
 Top
Zireael
Отправлено: 10 Июня, 2020 - 13:39:58
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
или все же так

Так.
Нарушение синтаксиса может привести к непредсказуемым последствиям. Может сначала и будет работать, но потом может начать вылетать, причём вообще в другом месте скрипта.

Kibor, добавьте проверку при запуске скрипта, что все функции, которые не используются в условиях, завершаются ;
Особенно это актуально для новичков.

(Отредактировано автором: 10 Июня, 2020 - 13:40:33)

 
 Top
Kibor
Отправлено: 10 Июня, 2020 - 14:06:50
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8218
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Zireael , Это проблематично, поскольку после закрывающей скобки функции не обязательно идет ; а может быть что угодно. К примеру + или запятая или еще что то.

Если не поставить ; перед } то это почти никогда не приведет к ошибке, поскольку } является сам по себе символом окончания предыдущей инструкции. Поэтому это проходит. Если нет } и ; то должно вывести ошибку.
 
 Top
Val_027
Отправлено: 10 Июня, 2020 - 16:37:30
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 114
Дата рег-ции: Февр. 2020  
Репутация: 0




 Kibor пишет:
Если не поставить ; перед } то это почти никогда не приведет к ошибке, поскольку } является сам по себе символом окончания предыдущей инструкции



Так братцы мнения разделились это печалит/ мне так нравиться что это ; и это} есть символ окончания инструкции но... в принципе не сложно во все что есть влепить ; }
нотепад в помощь . мб и сделать чтоб кибор ругался на отсутствие ;перед }

Спасибо за ответы.
 
 Top
Kibor
Отправлено: 10 Июня, 2020 - 17:08:14
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8218
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Лепите везде как того требует синтаксис.

Так пройдет и отработает правильно
CODE:
int n=0;
loop (2)
{
n++;
beep(1000, 500)
}


Так ошибка, ее Кибор сообщит
CODE:
int n=0;
loop (2)
{
beep(1000, 500);
n++
}
 
 Top
Val_027
Отправлено: 10 Июня, 2020 - 17:38:41
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 114
Дата рег-ции: Февр. 2020  
Репутация: 0




 Kibor пишет:
Так ошибка


Принято
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 5 (гостей: 5, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by