[ADA] Przerwanie funkcji

0

Witam, mam pytanie: Czy istnieje możliwość wyjścia z wykonywanej funkcji? Coś w stylu komendy exit dla pętli. Nie mogę nic podobnego znaleźć dla funkcji.

0

toż to zwykły return z jakąś wartością, popatrz na drugi link znaleziony przez google dla frazy ada return from function: http://en.wikibooks.org/wiki/Ada_Programming/Error_handling#Return_code

0

Nie mogę returnem. Mam to wszystko w pakiecie generycznym, a funkcje zwracają typ ITEM, za który później wstawiam jakikolwiek typ standardowy, int, char itp. więc co miałbym dać do return skoro zwracam wartość ITEM??

0

nie znam języka Ada, ale w żadnym wysokopoziomowym języku programowania nie możesz wyjść z funkcji (nie mylić z procedurą) nie zwracając wyniku w taki czy inny sposób. w przeciwnym wypadku co miałoby się znaleźć w zmiennej, do której przypisujesz wynik zwracany przez funkcję? (dla czepialskich: w JS i w niektórych przypadkach w AS da się, wtedy zwracana wartość to undefined).
jako iż nie znam języka, podam Ci kilka sposobów, nie mam pojęcia czy i który zadziała:

  • zwróć wartość domyślną dla typu generycznego (jak w c#),
  • zwróć nulla,
  • zrób switcha sprawdzającego typ ITEM i zwracającego odpowiednią wartość dla każdego z możliwych typów,
  • zwróć "pustą" instancję typu ITEM,
  • zwróć coś analogicznego do undefined,
  • daj na końcu funkcji labelkę i skocz do niej przez goto (blee, nie chce mi się wierzyć, że proponuję coś takiego).

1 użytkowników online, w tym zalogowanych: 0, gości: 1