11-13-2015 12:42 PM
Co oznacza pojawienie się "coercion dot" w programie ? Pojawiło się takie pytanie na CLAD a nie było omówione na zajęciach
11-13-2015 03:56 PM
Coercion dot informuje, że napisany przez Ciebie program musi wykonać operację na dwóch różnych typach zmiennych, może się ona wydawać oczywista i intuicyjna, ale jest niedozwolona, np. dodawanie int'a oraz dbl'a. Wiemy, że 1+1.2=2.2, ale LabVIEW nie może tego zaakceptować, bo chociać oba składniki to numerical'e to ich reprezentacje są inne (int oraz dbl). Pomimo tego da się tą operację wykonać, bo LV wie co w tej sytacji zrobić - zamienić reprezentację jednego ze składników tak, aby pasowała do drugiego, więc nieprawidłowe działanie jakim jest 1+1.2 można zamienić na 1.0+1.2=2.2, które jest jak najbardziej poprawne, poprzez zamianę int'a (1) na dbl'a (1.0), ale to wiąże się z utworzeniem buforu, dzięki któremu będzie możliwa zamiana. Chociaż w tym przypadku pojawienie się coercion dot rozwiązało problem w sposob poprawny to może się zdarzyć, że konwersja trochę namiesza w działaniu programu i pomimo intuicyjnie poprawnego sposobu działania, wyniki będą błędne, np. wykona się konwersja w wyniku której następuje obcięcie.
Można tego uniknąć i mieć pewność, że program wykona się poprawnie dzięki użyciu dostępnej w programie konwersji, np. int->dbl.