Хотел бы понять логику структуры while loop на специфичеком кейсе

Простейшие вопросы в области инженерной разработки
Ответить
kichay.d
interested
interested
Сообщения: 2
Зарегистрирован: 11 июл 2022, 20:20
Версия LabVIEW: 2021
Благодарил (а): 1 раз
Поблагодарили: 1 раз
Контактная информация:

Хотел бы понять логику структуры while loop на специфичеком кейсе

Сообщение kichay.d »

Всем доброго дня.

Имеется довольно специфический кейс со структурой loop while с индексированным входом и выходом. Длина индексируемого массива меньше, чем запланированное количество работы иттераций. В моём представлении данный случай должен был вызвать ошибку рантайма 'nil pointer exception', но LabVIEW 2021 спокойно докидывает нулей.

У меня собственно основной вопрос, есть ли документация на структуры, описывающая все подобные узкие кейсы? На данный момент я не могу определиться, баг ли это или фича, и не изменится ли данное поведение в других версиях?

Картинки:
Screenshot from 2022-07-12 14-43-46.png
Screenshot from 2022-07-12 14-43-46.png (5.71 КБ) 575 просмотров
Screenshot from 2022-07-12 14-44-04.png
Screenshot from 2022-07-12 14-44-04.png (10.05 КБ) 575 просмотров
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Re: Хотел бы понять логику структуры while loop на специфичеком кейсе

Сообщение IvanLis »

While не ограничивает количество итераций, даже если вы включите автоиндексирование, цикл остановится только при выполнении заданного условия.
For - остановится, когда выполнится первое из всех условий.

Auto-Indexing Tunnels with For Loops and While Loops in LabVIEW

Так что это не баг, это нормальное поведение.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»