Szukaj…


Wprowadzenie do procedur

Sub jest procedurą, która wykonuje określone zadanie, ale nie zwraca określonej wartości.

Sub ProcedureName ([argument_list])
    [statements]
End Sub

Jeśli nie określono modyfikatora dostępu, procedura jest domyślnie Public .

Function to procedura, która otrzymuje dane i zwraca wartość, najlepiej bez efektów ubocznych globalnych lub modułowych.

Function ProcedureName ([argument_list]) [As ReturnType]
    [statements]
End Function

Property to procedura enkapsulująca dane modułu. Właściwość może mieć do 3 akcesoriów: Get aby zwrócić wartość lub odwołanie do obiektu, Let aby przypisać wartość i / lub Set aby przypisać odwołanie do obiektu.

Property Get|Let|Set PropertyName([argument_list]) [As ReturnType]
    [statements]
End Property

Właściwości są zwykle używane w modułach klasowych (chociaż są one dozwolone również w modułach standardowych), narażając dostęp do danych, które w innym przypadku byłyby niedostępne dla kodu wywołującego. Właściwość, która ujawnia tylko akcesor Get jest „tylko do odczytu”; właściwość, która ujawniałaby tylko akcesorium Let i / lub Set jest „tylko do zapisu”. Właściwości tylko do zapisu nie są uważane za dobrą praktykę programistyczną - jeśli kod klienta może zapisać wartość, powinien móc ją ponownie odczytać . Rozważ zastosowanie procedury Sub zamiast tworzenia właściwości tylko do zapisu.

Zwracanie wartości

Procedura Property Get Function lub Property Get może (i powinna!) Zwrócić wartość do jej obiektu wywołującego. Odbywa się to poprzez przypisanie identyfikatora procedury:

Property Get Foo() As Integer
    Foo = 42
End Property

Funkcja z przykładami

Jak wspomniano powyżej Funkcje to mniejsze procedury, które zawierają małe fragmenty kodu, które mogą się powtarzać w ramach Procedury.

Funkcje służą do zmniejszenia nadmiarowości w kodzie.

Podobnie jak w Procedurze, funkcję można zadeklarować z listą argumentów lub bez niej.

Funkcja jest deklarowana jako typ zwracany, ponieważ wszystkie funkcje zwracają wartość. Nazwa i zmienna zwrotna funkcji są takie same.

  1. Funkcja z parametrem:

     Function check_even(i as integer) as boolean
     if (i mod  2) = 0 then
     check_even = True
     else
     check_even=False
     end if
     end Function
    
  2. Funkcja bez parametru:

     Function greet() as String
     greet= "Hello Coder!"
     end Function
    

Funkcję można wywoływać na różne sposoby wewnątrz funkcji. Ponieważ funkcja zadeklarowana za pomocą typu zwracanego jest w zasadzie zmienną. jest używany podobnie jak zmienna.

Połączenia funkcjonalne:

    call greet() 'Similar to a Procedural call just allows the Procedure to use the
                 'variable greet 
    string_1=greet() 'The Return value of the function is used for variable
                     'assignment

Ponadto funkcja może być również używana jako warunek dla instrukcji if i innych instrukcji warunkowych.

      for i = 1 to 10
      if check_even(i) then
      msgbox i & " is Even"
      else
      msgbox i & " is Odd"
      end if
      next i

Dalsze funkcje mogą mieć modyfikatory, takie jak By ref i By val dla swoich argumentów.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow