VBScript funkcije i procedure s primjerom

⚡ Pametni sažetak

VBScript funkcije i procedure organiziraju kod u blokove za višekratnu upotrebu. Sub procedura izvršava naredbe bez vraćanja vrijednosti, dok Function procedura vraća vrijednost dodjeljivanjem iste nazivu funkcije, a argumenti se prenose pomoću ByRef ili ByVal.

  • 🧱 Code Iskoristi: Procedure modulariziraju kod tako da je lakše pisati, ispravljati greške i održavati ga u velikim skriptama.
  • 📤 Podpostupak: Sub izvršava blok naredbi između Sub i End Sub, ali ne vraća vrijednost.
  • 📥 Postupak funkcije: Funkcija vraća vrijednost dodjeljivanjem iste nazivu funkcije između Funkcije i Kraja funkcije.
  • 📞 Pozivanje: Za pokretanje Suba koristite ključnu riječ call, a naziv funkcije u izrazu koristite za dobivanje rezultata.
  • 🔁 ByRef u odnosu na ByVal: ByRef omogućuje da promjene ostanu nakon poziva; ByVal radi na kopiji, tako da promjene ne ostaju.
  • ️ Zadano dodavanje: VBScript prema zadanim postavkama prosljeđuje argumente referencom, osim ako ne navedete ByVal.

VBScript funkcije i procedure

VBScript procedure

VBScript procedure uglavnom se koriste za organizaciju i ponovnu upotrebu koda. Do sada smo koristili jednostavne primjere jer je ovdje svrha učenje VBScripta. Ali u scenariju stvarnog svijeta kod nije tako jednostavan. Kada pokušate implementirati nešto što je korisno, kod može postati složeniji. Mogu postojati stotine redaka koji se protežu na mnogo stranica.

Ako kôd ne organizirate ispravno, cijeli proces kodiranja, otklanjanja pogrešaka i upravljanja kodom postat će vrlo složen. Dakle, trebali biste pažljivo organizirati ili modularizirati kôd tako da vašim kodom postane lako upravljati.

Štoviše, pretpostavimo da imate skup izjava koje izvode određenu radnju. Želite da se ista radnja ponovi nekoliko puta. Zašto biste onda trebali pisati isti kod uvijek iznova? Upotrebom učinkovitih tehnika svoj kod možete učiniti višekratnim. To će pomoći razvojnim programerima da lijepo organiziraju kod, a testerima da lako identificiraju greške. Ukratko, modularizacija koda i ponovna upotreba vrlo su važni kako bi kod bio moćniji, pouzdaniji i lakši za održavanje. Evo postupaka u sliku.

Vrste procedura u VBScriptu

Procedura je blok koda koji idealno obavlja jednu funkciju. Blok koda koji obrađuje unos ili rukuje datotekom dobar je primjer funkcije. Postoje dvije vrste postupaka u VBScript.

  1. Potprocedura: Potprocedura ne vraća vrijednost.
  2. Funkcijski postupak: Funkcijski postupak koristi se ako želite vratiti vrijednost.

Podpostupci

Ako želite izvršiti niz naredbi bez vraćanja bilo kakve vrijednosti, tada možete koristiti podprocedure.

Podprocedure počinju i završavaju s Sub i End Sub izjavama. Podprocedure mogu uzeti argumente, ali ne mogu vratiti vrijednost. Potpostupci mogu ali ne moraju primati ulazne podatke.

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

Samo pisanje ovog koda neće ništa ispisati. Ovdje ste stvorili podproceduru pod nazivom outputMessage. Zatim, trebate ga nazvati.

poziv outputMessage()

Kombinirajte oba ova skupa kodova unutra tag like this.

<script type="text/vbscript">

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

Izlaz ovog koda bit će

Podpostupci

VBScript funkcije

Ako želite izvršiti niz naredbi i vratiti vrijednost, tada trebate koristiti funkcijske procedure, poznate kao funkcija.

Funkcijski postupci počinju i završavaju naredbama Function i End Function.

Funkcijski postupak može, ali i ne mora primiti unos.

Funkcijski postupci vraćaju vrijednost dodjeljivanjem vrijednosti njegovom imenu.

<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>

Izlaz ovog koda bit će

VBScript funkcije

Parametri ByRef i ByVal

VBScript argumente možete proslijediti procedurama prema referenci ili prema vrijednosti.

Ako ne specificirate ništa kada pozivate proceduru, tada se argument/argumenti prema zadanim postavkama prosljeđuju referencom.

Ako želite da promjene koje su unesene u argumente traju čak i nakon što se procedura pozove, tada trebate prenijeti VBScript argumente prema referenci.

Kada se argument proslijedi prema vrijednosti, sve promjene koje pozvana procedura učini na vrijednosti varijabla nemojte ustrajati nakon pozivanja postupka.

Ključne riječi ByRef i ByVal koriste se za prosljeđivanje argumenata po referenci odnosno po vrijednosti.

Da biste razumjeli razliku, prvo izvršite donji kod i pogledajte izlaz.

Korak 1) Kopirajte kod u uređivač

<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>

Korak 2) izlaz je 6.

Korak 3) Promjena Function returnResult(ByRef value) u Function returnResult(ByVal value)

Korak 4) Sada će vaš izlaz biti 5.

Pitanja i odgovori

Koristite Exit Sub unutar Sub-a ili Exit Function unutar Function-a za izlazak iz procedure neposredno prije kraja. Izvršavanje se zatim vraća u liniju koja ju je pozvala.

Ako koristite ključnu riječ call, argumente stavite u zagrade. Ako izostavite call, nemojte koristiti zagrade oko više argumenata. Pogrešno shvaćanje ove riječi uobičajena je sintaktička pogreška u VBScriptu.

Da. VBScript podfunkcija ili funkcija može pozvati samu sebe, što se naziva rekurzija. Uvijek uključite osnovni uvjet koji zaustavlja pozive, inače će se skripta ponavljati u petlji dok ne ponestane prostora na stogu.

Da. Umjetna inteligencija može uočiti duplicirane izjave, npr.tracpretvorite ih u podvrstu ili funkciju s ispravnim parametrima i ažurirajte pozive. To skripte čini kraćima i lakšima za održavanje.

Da. Umjetna inteligencija može tracKako se vrijednost mijenja s ByRef u odnosu na ByVal, prikažite izlaz za svaki i preporučite koji koristiti na temelju toga treba li pozivatelj vidjeti promjenu.

Sažmite ovu objavu uz: