Funzioni e procedure VBScript con esempio

โšก Riepilogo intelligente

Le funzioni e le procedure VBScript organizzano il codice in blocchi riutilizzabili. Una procedura Sub esegue istruzioni senza restituire un valore, mentre una procedura Function restituisce un valore assegnandolo al nome della funzione e gli argomenti vengono passati tramite ByRef o ByVal.

  • ๐Ÿงฑ Code riutilizzo: Le procedure modularizzano il codice, semplificandone la scrittura, il debug e la manutenzione anche in script di grandi dimensioni.
  • ๐Ÿ“ค Sottoprocedura: Una subroutine esegue un blocco di istruzioni tra Sub e End Sub, ma non restituisce alcun valore.
  • ๐Ÿ“ฅ Procedura operativa: Una funzione restituisce un valore assegnandolo al nome della funzione tra Function e End Function.
  • ๐Ÿ“ž Chiamata: Utilizza la parola chiave `call` per eseguire una Sub e il nome di una Function in un'espressione per ottenerne il risultato.
  • ๐Ÿ” ByRef vs ByVal: ByRef consente alle modifiche di persistere dopo la chiamata; ByVal opera su una copia, quindi le modifiche non vengono mantenute.
  • โš™๏ธ Passaggio predefinito: VBScript passa gli argomenti per riferimento per impostazione predefinita, a meno che non si specifichi ByVal.

Funzioni e procedure VBScript

Procedure VBScript

Le procedure VBScript sono utilizzate principalmente per l'organizzazione e il riutilizzo del codice. Finora abbiamo utilizzato esempi semplici, poichรฉ lo scopo รจ imparare VBScript. Ma in uno scenario reale, il codice non รจ cosรฌ semplice. Quando si cerca di implementare qualcosa di utile, il codice potrebbe diventare piรน complesso. Potrebbero esserci centinaia di righe che si estendono su molte pagine.

Se non organizzi il codice correttamente, l'intero processo di codifica, debug e gestione del codice diventerร  davvero complesso. Quindi, dovresti organizzare o modularizzare il codice con attenzione in modo che il tuo codice diventi facilmente gestibile.

Inoltre, supponiamo di avere una serie di istruzioni che eseguono una particolare azione. Vuoi che la stessa azione venga ripetuta piรน volte. Allora perchรฉ dovresti scrivere lo stesso codice ancora e ancora? Utilizzando tecniche efficaci, puoi rendere il tuo codice riutilizzabile. Ciรฒ aiuterร  gli sviluppatori a organizzare magnificamente il codice e i tester a identificare facilmente i bug. In breve, la modularizzazione e il riutilizzo del codice sono molto importanti per rendere il codice piรน potente, affidabile e piรน facile da mantenere. Ecco le procedure in un'immagine.

Tipi di procedure in VBScript

Una procedura รจ un blocco di codice che idealmente esegue una singola funzione. Un blocco di codice che elabora un input o gestisce un file รจ un buon esempio di funzione. Esistono due tipi di procedure in VBScript.

  1. Sottoprocedura: la sottoprocedura non restituisce un valore.
  2. Procedura della funzione: la procedura della funzione viene utilizzata se si desidera restituire un valore.

Procedure secondarie

Se vuoi eseguire una serie di istruzioni senza restituire alcun valore, puoi utilizzare le sottoprocedure.

Le procedure Sub iniziano e terminano rispettivamente con le istruzioni Sub e End Sub. Le procedure secondarie possono accettare argomenti, ma non possono restituire un valore. Le sottoprocedure possono o meno ricevere input.

Sub outputMessage()
document.write("Welcome")
End Sub

La semplice scrittura di questo codice non produrrร  nulla. Qui hai creato una procedura Sub denominata outputMessage. Successivamente, devi chiamarlo.

chiama outputMessage()

Combina entrambi questi set di codici all'interno tag like this.

<script type="text/vbscript">

Sub outputMessage()
document.write("Welcome")
End Sub
call outputMessage()
</script>

L'output di questo codice sarร 

Procedure secondarie

Funzioni VBScript

Se desideri eseguire una serie di istruzioni e restituire un valore, devi utilizzare le procedure di funzione, comunemente note come funzione.

Le procedure Function iniziano e terminano rispettivamente con le istruzioni Function e End Function.

Una procedura di funzione puรฒ o meno ricevere input.

Le procedure di funzione restituiscono un valore assegnando il valore al suo nome.

<script type="text/vbscript">
Function findArea(radius)
   const pi=3.14
   area = pi*radius*radius
   findArea = area
End Function
document.write("The area of the circle when the radius is 20 is " & findArea(20) &"<br/>")
document.write("The area of the circle when the radius is 10 is " & findArea(10))

</script>

L'output di questo codice sarร 

Funzioni VBScript

Parametri ByRef e ByVal

รˆ possibile passare argomenti VBScript alle procedure per riferimento o per valore.

Se non specifichi nulla quando chiami una procedura, l'argomento/gli argomenti vengono passati per riferimento per impostazione predefinita.

Se si desidera che le modifiche apportate agli argomenti persistano anche dopo la chiamata della procedura, รจ necessario passare gli argomenti VBScript per riferimento.

Quando un argomento viene passato per valore, qualsiasi modifica apportata dalla procedura chiamata al valore di variabile non persistere dopo la chiamata della procedura.

Le parole chiave ByRef e ByVal vengono utilizzate per passare argomenti rispettivamente per riferimento e per valore.

Per comprendere la differenza, eseguire innanzitutto il codice riportato di seguito e visualizzare l'output.

Passo 1) Copia il codice nel tuo editor

<script type="text/vbscript">
Function returnResult(ByRef value)
   value = value +1
   returnResult = value
End Function
Dim x
x=5
call returnResult(x)
document.write(x)
</script>

Passo 2) l'uscita รจ 6.

Passo 3) Cambia la funzione returnResult (valore ByRef) in funzione returnResult (valore ByVal)

Passo 4) Ora il tuo output sarร  5.

DOMANDE FREQUENTI

Utilizza Exit Sub all'interno di una Sub, oppure Exit Function all'interno di una Function, per uscire dalla procedura immediatamente prima della fine. L'esecuzione ritorna quindi alla riga che l'ha chiamata.

Se si utilizza la parola chiave `call`, gli argomenti vanno racchiusi tra parentesi. Se si omette `call`, non vanno racchiusi tra parentesi in presenza di piรน argomenti. Commettere questo errore รจ un comune errore di sintassi in VBScript.

Sรฌ. Una subroutine o una funzione VBScript puรฒ richiamare se stessa, un fenomeno chiamato ricorsione. รˆ sempre necessario includere una condizione di base che interrompa le chiamate, altrimenti lo script continuerร  a ripetersi fino all'esaurimento dello spazio nello stack.

Sรฌ. L'IA puรฒ individuare dichiarazioni duplicate, ad esempiotracInseriscili in una Sub o Function con i parametri corretti e aggiorna le chiamate. Questo rende gli script piรน brevi e piรน facili da gestire.

Sรฌ. L'IA puรฒ tracMostra come cambia un valore con ByRef rispetto a ByVal, illustra l'output per ciascuno e consiglia quale utilizzare in base al fatto che il chiamante debba o meno visualizzare la modifica.

Riassumi questo post con: