Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Вопросы по синтаксису Кибор

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

1. Redear - 03 Марта, 2023 - 03:18:11 - перейти к сообщению
продолжаю искать ошибки в коде, возникло несколько вопросов

1) Вопрос,
в киборе переменные объявленные внутри циклов уничтожаются после выхода их цикла. или их можно использовать далее
CODE:

for (int i = 0; i < 2; i++) {
int b = i; // локальная переменная (она находится в блоке for)
}
messagebox(format(b));
}


правильный код?

2) можно ли использовать такую конструкцию c sizearray или нужно лучше поместить размер в переменную.
int jsp[20];
jsp[sizearray(jsp)-1]=jsp[sizearray(jsp)-1]+" Stack Size";

3)
еще вопрос по пробелам.
мне возможно показалось, но если в цикле фор, будет лишний пробел (после i++), например
(int i = 0; i < 2; i++ )
то в большом коде это приводит к ошибке памяти. могу ошибаться. прошу помощи экспертов.
интересует вопрос где ставить пробелы категорически не допускается.

пример2, findheapcollor(x,x,x,x,x, [ много пробелов ] x,x,x,x, [ много пробелов ] x); такая конструкция может быть проблемной или нет?


4) если я к примеру в параметр функции для целого значения подставляю дробное значение, не вызывает ли это ошибку памяти

vt=cuttext("te"+vt, "te", size(vt)/2,"", 0);
(Добавление)
еще вопрос с goto
5) в разных статьях и премерах от создателя после прыжка на метку то ставится ; то нет.
как все таки правильно.
а) ставится(для просмотра ссылки Вам необходимо авторизоваться) б) не ствится(для просмотра ссылки Вам необходимо авторизоваться)
g
CODE:
oto a;//идти к метке a
messagebox("эту строчку пропустили и она не выполнится");
a: messagebox("попали на эту строку");// вот метка a
2. Zireael - 03 Марта, 2023 - 04:50:30 - перейти к сообщению
1. В кибор так можно. Переменные объявляются 1 раз и не удаляются.
2. Можно, но в данном примере ошибка, т. к. массив int, а прибавляется строка.
3. Пробелы не влияют, но нужно учитывать ограничение на длину строки в редакторе: 127 символов.
 Цитата:
такая конструкция может быть проблемной или нет?

Может.
4. Не должно.
5. Лучше поставить, хуже не будет.
3. Redear - 03 Марта, 2023 - 04:59:21 - перейти к сообщению
 Zireael пишет:

3. Пробелы не влияют, но нужно учитывать ограничение на длину строки в редакторе: 127 символов.


не совсем понятно, 127 символов для переменной типо стринг "asdaasdassd"
или вообще 127 любых символов для одной строки в редакторе.
то есть на одной строке не разместить a=b+c; a=b+c; a=b+c; .... и таких 200 штук например
4. Zireael - 03 Марта, 2023 - 05:23:18 - перейти к сообщению
 Цитата:
не совсем понятно, 127 символов

На это может только автор ответить. Непонятно что относится к 127, это максимальная длина строки в редакторе или длина инструкции.

Из собственного опыта могу сказать следущее:
Для строки "asdaasdassd" длиной больше 127 напишет предупреждение про длину строки.
Для такого варианта: "asdaasdassd"+"asdaasdassd"+"asdaasdassd" и т. д. не напишет, хотя это тоже приводит к ошибкам, либо некорректной работе скрипта.
Но, если сделать так, то ошибок не будет:
 Цитата:
"asdaasdassd"+
"asdaasdassd"+
"asdaasdassd"

 Цитата:
a=b+c; a=b+c; a=b+c; .... и таких 200 штук

Так-то не должно быть ошибок, но лучше не делать такие строки длиннее 127 символов.
5. Kibor - 03 Марта, 2023 - 05:26:30 - перейти к сообщению
 Zireael пишет:
длина строки в редакторе или длина инструкции

Отдельное слово (название переменной и тд) или полный текст в кавычках.
Текст в кавычках Кибор сам пытается разбить на отрезки.
6. Redear - 03 Марта, 2023 - 05:32:26 - перейти к сообщению
 Kibor пишет:
 Zireael пишет:
длина строки в редакторе или длина инструкции

Отдельное слово (название переменной и тд) или полный текст в кавычках.
Текст в кавычках Кибор сам пытается разбить на отрезки.


спасибо за разъяснение.
прошу подскажите, окончательно поставьте точку для меня в вопросе о конструкции

if () {} else {}


если действие 1, могу ли я не ставить скобки
if (a>b) return 0; else continue; будет верно? или нужно if (a>b) { return 0; } else { continue;}

спасибо!
7. Zireael - 03 Марта, 2023 - 05:34:23 - перейти к сообщению
 Цитата:
если действие 1, могу ли я не ставить скобки
if (a>b) return 0; else continue; будет верно?

Да.

Powered by ExBB FM 1.0 Final