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

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

1. KeSeG - 25 Сентября, 2018 - 02:07:19 - перейти к сообщению
Прошу подсказать, хотя вопрос наверное не совсем относится к Кибору, а к программированию в целом.

Существует функция. Допустим анализ_данных() она возвращает 7 значений (не знаю, правильная терминология, но она у меня выходит с 7 значениями через rerurn 1; return -1; return -2; т.д.) Сами значения (1; -1; -2Подмигивание я так понимаю смысловой нагрузки не несут (можно задавать хоть return 100; return -100; return -200; ), но вроде как принято ошибки выводить с отрицательным значениями (мои наблюдения Улыбка ) Вопрос #1. Эти наблюдения верны? (это дополнительный вопрос)

Основной вопрос заключается в том, что верно ли использовать вот такой перебор этих значений или есть метод правильнее, рациональнее?

CODE:

if (анализ_данных()==1)
{
текст кода
}

if (анализ_данных()==-1)
{
текст кода
}

if (анализ_данных()==-2)
{
текст кода
}



и т.д.

Заключающий вопрос: Из того примера кода, что я привел сама функция анализ_данных() выполняется 1 раз и потом проверяются ее значения? Или она выполняется все 3 раза, когда мы проверяем ее значение через if?

Заранее спасибо за ответы, надеюсь вопросы я задал понятным языком.
2. Kibor - 25 Сентября, 2018 - 02:16:27 - перейти к сообщению
Ни в коем случае. Абсолютно не правильно.
Выполнится столько раз сколько вызвали.
Так делать надо
CODE:
int t=анализ_данных();
if (t==1)
{
текст кода
}

if (t==-1)
{
текст кода
}

if (t==-2)
{
текст кода
}

(Добавление)
 KeSeG пишет:
я так понимаю смысловой нагрузки не несут (можно задавать хоть return 100; return -100; return -200; ), но вроде как принято ошибки выводить с отрицательным значениями (мои наблюдения

Можете выводить как вам будет удобно.
Хоть текст

CODE:
return "текст";
3. KeSeG - 25 Сентября, 2018 - 02:21:34 - перейти к сообщению
Спасибо большое. Как говорится нутром чуял, что не верно делаю)

Powered by ExBB FM 1.0 Final