- New Gothic Team http://www.newgothicteam.pun.pl/index.php - "Skrypterem być" - kurs na temat skryptowania Gothic'a http://www.newgothicteam.pun.pl/viewforum.php?id=108 - Skrypterem być - rozdział 7. "Funkcje" http://www.newgothicteam.pun.pl/viewtopic.php?id=661 |
Vayurax - 2010-08-04 00:02:11 |
Standardowo wyjaśnimy sobie czym jest obiekt naszych dzisiejszych rozważań i z czym się to je. Tak więc czym jest funkcja ogólnie chyba wiemy. Na przykład telefony w XXI wieku mają wiele funkcji typu aparat, dyktafon, GPS, Internet, radio. Korzystamy z tych funkcji wielokrotnie, prawda? Jednak w programowaniu funkcja jest czymś innym.
Może nie jest to najlepsza definicja funkcji, jaką można sobie wymarzyć, jednak tyle powinno nam wystarczyć. Teraz posłużmy się przykładem z Gothic'a. Wielokrotnie grając wymienialiśmy się z postaciami złotem. Za każdym razem, gdy ktoś dał nam złoto, lub gdy my daliśmy je komuś wywoływana była specjalna funkcja, która edytowała ilość złota u obu postaci i wyświetlała na ekranie odpowiedni napis.
Znamy ten schemat, co nie? A więc zadeklarujmy sobie jakąś funkcję.
No tak, ale co robią typy w funkcjach? Pamiętamy, że zmienna przechowywała wartość danego typu, jednak funkcja nie przechowuje wartości! Otóż funkcja może zwracać wartość, a typ funkcji odpowiada typowi zwracanej przez nią wartości. Ma sens, co nie? Do zwrócenia wartości służy słowo kluczowe return. Jak możemy się domyśleć pusty typ danych - void nie zwraca żadnej wartości.
A więc co się stanie, jeśli umieścimy gdzieś takie wywołanie funkcji?
Wypisze ona na ekranie 4. Dlaczego? Wywołujemy funkcję Funkcja2, która wypisuje na ekranie 2 + wartość zwracaną przez funkcję 3 - również 2.
Teraz funkcję wywołamy na przykład w ten sposób:
Oczywiście w miejsce '5' wstawić możemy dowolną liczbę - wpłynie ona na wynik wywołania funkcji, więc jest ona już interaktywna. Na razie to by było na tyle, do przeczytania ;) |