Czy ktoś może mi wyjaśnić różnicę między "procedurą" i "funkcją" Ada?Funkcja Ada vs Procedura
Odpowiedz
Język Ada nie jest bardzo różny w porównaniu z innymi imperatywnymi językami typu C. Składnia może jednak wyglądać bardzo dziwnie i przytłaczać różnymi stwierdzeniami, ale dzieje się tak głównie z powodu bardzo bogatego statycznego systemu pisania i cech bezpośrednio dostarczanych przez język (jak na przykład zadania), które inne języki zapewniają jako biblioteki boczne.
W przeciwieństwie do większości języków podobnych do C, Ada rozróżnia procedury proceduralne i funkcjonalne. W tym sensie funkcja jest bardzo podobna do funkcji matematycznej, która przyjmuje argumenty (lub żadne) i zwraca wartość, a zatem jest używana w wyrażeniach. Procedury nie zwracają żadnych wartości i nie można ich używać w wyrażeniach. Język pascal zachowuje takie samo rozróżnienie między funkcjami i procedurami. Języki podobne do C wybrały funkcję, która może być używana poza wyrażeniami (zwracana wartość jest w tym przypadku ignorowana) lub zwracana jest wartość pusta, aby działała jak procedura.
Czy procedury Ady modyfikują zmienne (zmieniają stan)? – MNRC
- 1. metoda vs funkcja vs procedura vs klasa?
- 2. Wiele zapytań Procedura przechowywana VS
- 3. Anuluj miejsca po wartości Integer'Image w Ada
- 4. Ada i złożenie
- 5. drukuj pływa w ada
- 6. Ada out parameter
- 7. O "zasięgu" w Ada
- 8. Typy Ada w Nimrod
- 9. Funkcja autoloadera PHP vs. funkcja autoloadera proceduralnego?
- 10. Kompilator Ada dla procesorów Arm
- 11. Jak zaimplementować interfejs w Ada?
- 12. Arbitralna długość całkowita w Ada
- 13. Ada literałów numerycznych i podkreślają
- 14. Procedura lub funkcja oczekuje parametru, który nie został dostarczony.
- 15. Procedura lub funkcja 'xyz' ma zbyt wiele argumentów określonych
- 16. Procedura lub funkcja !!! ma zbyt wiele argumentów określonych
- 17. Destruktor vs funkcja funkcji wyścig
- 18. Funkcja vs. Makro w CMake
- 19. funkcja przeciążenia: const * vs const &
- 20. Zmienna statyczna constexpr vs funkcja
- 21. Python quicksort - List comprehension vs Recursion (procedura partycji)
- 22. Tworzenie Procedura
- 23. Ada cross-kompilator dla iOS skierowany
- 24. anonimowy wywołanie funkcji javascript! Funkcja vs funkcji
- 25. Funkcja bazy danych VS Case Statement
- 26. Fouriera() vs fourierf() funkcja w R
- 27. Python Język Pytanie: atrybuty obiektu() vs Funkcja
- 28. funkcja jako wskaźnik funkcji vs jako parametr
- 29. Funkcja lokalna vs Lambda C# 7.0
- 30. zmienna rzutowa na int vs okrągła() funkcja
Jest to elementarne pytanie, na które można odpowiedzieć za pomocą dowolnego odniesienia do Ada. –
@ KeeThompson: Dzięki za odpowiedź. Niestety, mam 24 godziny na zrobienie czegokolwiek :). –
Funkcja zwraca wartość, a procedura nie. Na przykład język Pascala ma to samo. Języki podobne do C mają tylko funkcje, które mogą udawać, że są procedurami, zwracając wartość pustą. BTW, 24h to wystarczająco dużo, żeby się tego nauczyć :) – Archie