Funkcja i procedura


Funkcja i procedura - parametry i opis

Argument listy argumentów procedury czy funkcji to:

[ Optional ] [ByVal | ByRef ] [ParamArray ]

nazwa_parametru [()] [ As typ ] [ = wartość_domyślna ]

Typ musi być podany, gdy użyto Option Strict On.

Typ to: Boolean, Byte, Char, Date, Decimal, Double, Integer, Long, Object, Short, Single, String, nazwa wyliczenia, nazwa struktury, nazwa klasy lub interfejsu.

Funkcja czy procedura domyślnie są publiczne, czyli brak opcji jawnej oznacza Public.

  1. Funkcja zwraca wartość przy użyciu instrukcji VB 6, wychodzącej z użycia:
    Nazwa_funkcji = wartość

  2. albo nowej konstrukcji:
    Return wartość

  3. albo domyślnej wartości, przy użyciu:
    Exit Function (wtedy zwracana jest domyślna wartość danego typu,
    czyli 0 dla numerycznych typów, Nothing dla obiektów itp.

Powyższe instrukcje mogą wystąpić wielokrotnie w ciele funkcji/procedury.

Parametry formalne funkcji/procedury:

Parametry Optional muszą być skupione na końcu listy parametrów i muszą mieć wartości domyślne.

Parametr ParamArray może być tylko jeden, i musi wystąpić jako ostatni i nie może współegzystować z parametrem Optional na jednej liście parametrów.

Wywołanie funkcji/procedury - parametry aktualne:

x=f(x, y, z)

f(x, y, z)

Call f(x, y, z) czyli można wywoływać (ten I powyższy przykład) funkcję jak procedurę (bez wykorzystania wtedy wartości zwracanej!!!

Parametry podaje się w wywołaniu zgodnie z kolejnością na liście deklaracyjnej parametrów, mogą to być tylko przecinki dla wartości domyślnych lub nawet ich brak w przypadku parametrów domyślnych ostatnich. Drugim sposobem jest użycie nazwanych parametrów - wtedy muszą wystąpić przynajmniej te, które nie mają wartości domyślnych i to w dowolnej kolejności, ale w postaci nazwa := wartość

======================================================================

Module Module1

'Delegate Sub pittance(ByVal f As odpowiedz, ByVal x As Integer, ByVal y As Integer)

'Delegate Function odpowiedz() As Integer

Delegate Function ff(ByVal x As Double) As Double

Sub Main()

Dim s As ff

' s = AddressOf Math.Sin

Console.WriteLine(f(AddressOf Math.Sin, Math.PI / 2))

Console.ReadLine()

End Sub

Function f(ByVal f1 As ff, ByVal xx As Double) As Double

Return (f1(xx))

End Function

'Sub pyt(ByVal o As odpowiedz, ByVal xx As Integer, ByVal yy As Integer)

'End Sub

End Module

======================================================================

Module Module1

Sub Main()

f(3, 4, 5, 6) ' wywołanie funkcji jak procedury

End Sub

Function f(ByVal ParamArray t() As Double) As Double

Dim i As Integer

For i = 0 To t.Length - 1

Console.WriteLine(t(i))

Next

End Function

End Module

Dim enum As IEnumerator = t.GetEnumerator ' użycie Interfejsu IEnumerator !

While (enum.MoveNext)

Console.WriteLine(enum.Current)

End While

===========================================================================



Wyszukiwarka

Podobne podstrony:
3 Wybrane funkcje i procedury obsługi ekranu
bd2 03 funkcje i procedury
kol pop3, Napisz następujące funkcje i procedury:
kol pop 1, Napisz następujące funkcje i procedury:
bd2 04 funkcje i procedury
Sem II Transport, Podstawy Informatyki Wykład XIV i XV Object Pascal Funkcje i procedury
Podstawy Informatyki Wykład XIII Object Pascal Funkcje i procedury
funkcje i procedury III TI, Programowanie
Funkcje i procedury w pascalu, INFORMATYKA
3 Wybrane funkcje i procedury obsługi ekranu
bd2 03 funkcje i procedury
Funkcje i procedury2
LAB PROCEDURY I FUNKCJE
Procedury i funkcje
Procedury i funkcje trybu grafi Nieznany
cw 14 Procedury składowane i funkcje?zodanowe
procedury i funkcje

więcej podobnych podstron