AGH University of Science and Technology in Krakow

cancel
Showing results for 
Search instead for 
Did you mean: 

coercion dot

Co oznacza pojawienie się "coercion dot" w programie ? Pojawiło się takie pytanie na CLAD a nie było omówione na zajęciach

0 Kudos
Message 1 of 2
(3,753 Views)

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.

coercion_dot.png

Message 2 of 2
(3,420 Views)