Sök…


Introduktion till förfaranden

En Sub är en procedur som utför en specifik uppgift men inte returnerar ett specifikt värde.

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

Om ingen åtkomstmodifierare anges är en procedur Public standard.

En Function är en procedur som ges data och returnerar ett värde, helst utan globala eller modulära sidoeffekter.

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

En Property är en procedur som kapslar in moduldata. En egenskap kan ha upp till tre accessorer: Get tillbaka ett värde eller en objektreferens, Let att tilldela ett värde och / eller Set att tilldela en objektreferens.

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

Egenskaper används vanligtvis i klassmoduler (även om de också är tillåtna i standardmoduler) och utsätter accessor för data som annars inte är tillgängliga för samtalskoden. En egenskap som bara exponerar en Get accessor är "skrivskyddad"; en egenskap som bara skulle exponera en Let och / eller Set accessor är "skrivskyddad". Skrivskyddsegenskaper anses inte vara en bra programmeringspraxis - om klientkoden kan skriva ett värde, bör den kunna läsa den tillbaka. Överväg att implementera en Sub procedur istället för att skapa en skrivegenskap.

Återvända ett värde

En Function eller Property Get förfarande kan (och bör!) Returnera ett värde till dess ringer. Detta görs genom att tilldela procedurens identifierare:

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

Funktion med exempel

Som nämnts ovan är funktioner mindre procedurer som innehåller små kodstycken som kan vara repetitiva i en procedur.

Funktioner används för att minska redundans i kod.

I likhet med en procedur kan en funktion deklareras med eller utan en argumenteringslista.

Funktion deklareras som en returtyp, eftersom alla funktioner returnerar ett värde. Namnet och Return-variabeln för en funktion är desamma.

  1. Funktion med parameter:

     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. Funktion utan parameter:

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

Funktionen kan kallas på olika sätt i en funktion. Eftersom en funktion som deklareras med en returtyp är i princip en variabel. den används på liknande sätt som en variabel.

Funktionella samtal:

    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

Vidare kan funktionen också användas som villkor för if och andra villkorade påståenden.

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

Ytterligare fler funktioner kan ha modifierare som By ref och By val för sina argument.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow