Örnekle VBScript İşlevleri ve Prosedürleri

⚡ Akıllı Özet

VBScript fonksiyonları ve prosedürleri, kodu yeniden kullanılabilir bloklar halinde düzenler. Bir alt prosedür, değer döndürmeden ifadeleri çalıştırırken, bir fonksiyon prosedürü, fonksiyon adına değer atayarak bir değer döndürür ve argümanlar ByRef veya ByVal kullanılarak geçirilir.

  • 🧱 Code Yeniden: Prosedürler, kodu modüler hale getirerek büyük betiklerde yazmayı, hata ayıklamayı ve bakımını kolaylaştırır.
  • 📤 Alt İşlem: Bir Sub bloğu, Sub ve End Sub arasında bir dizi ifadeyi çalıştırır ancak bir değer döndürmez.
  • 📥 İşlev Prosedürü: Bir fonksiyon, `Function` ve `End Function` ifadeleri arasına fonksiyon adını atayarak bir değer döndürür.
  • 📞 Aranıyor: Bir alt programı çalıştırmak için `call` anahtar kelimesini kullanın ve bir fonksiyonun adını bir ifadede kullanarak sonucunu elde edin.
  • 🔁 ByRef ve ByVal karşılaştırması: ByRef, çağrıdan sonra değişikliklerin kalıcı olmasını sağlar; ByVal ise bir kopya üzerinde çalışır, bu nedenle değişiklikler kalıcı olmaz.
  • ⚙️ Varsayılan Geçiş: VBScript, ByVal belirtmediğiniz sürece varsayılan olarak argümanları referans yoluyla iletir.

VBScript Fonksiyonları ve Prosedürleri

VBScript Prosedürleri

VBScript prosedürleri esas olarak kod organizasyonu ve yeniden kullanımı için kullanılır. Şimdiye kadar basit örnekler kullandık çünkü buradaki amaç VBScript öğrenmektir. Ancak gerçek dünya senaryosunda kod o kadar basit değildir. Yararlı bir şey uygulamaya çalıştığınızda kod daha karmaşık hale gelebilir. Birçok sayfaya yayılmış yüzlerce satır olabilir.

Kodu düzgün bir şekilde organize etmezseniz, kodlama, hata ayıklama ve kodu yönetme sürecinin tamamı gerçekten karmaşık hale gelecektir. Bu nedenle, kodunuzu kolayca yönetilebilir hale getirmek için kodu dikkatlice organize etmeli veya modülerleştirmelisiniz.

Ayrıca, belirli bir eylemi gerçekleştiren bir dizi ifadeniz olduğunu varsayalım. Aynı eylemin birkaç kez tekrarlanmasını istiyorsunuz. O halde neden aynı kodu tekrar tekrar yazmalısınız? Etkili teknikler kullanarak kodunuzu tekrar kullanılabilir hale getirebilirsiniz. Bu, geliştiricilerin kodu güzel bir şekilde düzenlemesine ve test uzmanlarının hataları kolayca tespit etmesine yardımcı olacaktır. Kısacası kodun modülerleştirilmesi ve yeniden kullanılması, kodu daha güçlü, güvenilir ve bakımı kolay hale getirmek için çok önemlidir. İşte prosedürler bir resme dönüşüyor.

VBScript'teki Prosedür Türleri

Prosedür, ideal olarak tek bir işlevi yerine getiren bir kod bloğudur. Bir girişi işleyen veya bir dosyayı işleyen bir kod bloğu, fonksiyona iyi bir örnektir. İki tür prosedür vardır VBScript.

  1. Alt prosedür: Alt prosedür bir değer döndürmez.
  2. Fonksiyon prosedürü: Bir değer döndürmek istiyorsanız fonksiyon prosedürü kullanılır.

Alt Prosedürler

Herhangi bir değer döndürmeden bir dizi ifadeyi yürütmek istiyorsanız alt prosedürleri kullanabilirsiniz.

Alt prosedürler sırasıyla Sub ve End Sub ifadeleriyle başlar ve biter. Alt prosedürler argüman alabilir ancak bir değer döndüremez. Alt prosedürler girdi alabilir veya almayabilir.

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

Sadece bu kodu yazmak hiçbir şey vermeyecektir. Burada OutputMessage adında bir Alt prosedür oluşturdunuz. Daha sonra onu aramanız gerekir.

OutputMessage()'ı çağırın

Bu iki kod kümesini içeride birleştirin tag like this.

<script type="text/vbscript">

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

Bu kodun çıktısı şöyle olacaktır

Alt Prosedürler

VBScript İşlevleri

Bir dizi ifadeyi yürütmek ve bir değer döndürmek istiyorsanız, genellikle işlev olarak bilinen işlev prosedürlerini kullanmanız gerekir.

Fonksiyon prosedürleri sırasıyla Function ve End Function ifadeleriyle başlar ve biter.

Bir işlev prosedürü girdi alabilir veya almayabilir.

İşlev prosedürleri, değeri adına atayarak bir değer döndürür.

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

Bu kodun çıktısı şöyle olacaktır

VBScript İşlevleri

ByRef ve ByVal Parametreleri

VBScript bağımsız değişkenlerini prosedürlere referansa veya değere göre iletebilirsiniz.

Bir prosedürü çağırdığınızda hiçbir şey belirtmezseniz, argüman/argümanlar varsayılan olarak referans olarak iletilir.

Bağımsız değişkenlerde yapılan değişikliklerin prosedür çağrıldıktan sonra da devam etmesi durumunda, VBScript bağımsız değişkenlerini referans olarak iletmeniz gerekir.

Bir argüman değere göre iletildiğinde, çağrılan prosedürün değerde yaptığı herhangi bir değişiklik değişken prosedür çağrıldıktan sonra ısrar etmeyin.

ByRef ve ByVal anahtar sözcükleri, bağımsız değişkenleri sırasıyla referansa ve değere göre iletmek için kullanılır.

Farkı anlamak için öncelikle aşağıdaki kodu çalıştırıp çıktıyı görün.

) 1 Adım Kodu editörünüze kopyalayın

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

) 2 Adım çıktı 6'dır.

) 3 Adım Function returnResult(ByRef value) öğesini Function returnResult(ByVal value) olarak değiştirin

) 4 Adım Şimdi çıktınız 5 olacak.

SSS

Bir alt yordamın içinde Exit Sub veya bir fonksiyonun içinde Exit Function kullanmak, yordamın bitiminden hemen önce sonlanmasını sağlar. Bu durumda, yürütme, çağrıldığı satıra geri döner.

Eğer `call` anahtar kelimesini kullanıyorsanız, argümanları parantez içine alın. `call` anahtar kelimesini kullanmazsanız, birden fazla argümanı parantez içine almayın. Bunu yanlış yapmak, sık karşılaşılan bir VBScript sözdizimi hatasıdır.

Evet. Bir VBScript alt programı veya fonksiyonu kendini çağırabilir, buna özyineleme denir. Çağrıları durduran bir temel koşul her zaman ekleyin, aksi takdirde komut dosyası yığın alanı tükenene kadar döngüye girer.

Evet. Yapay zeka, yinelenen ifadeleri tespit edebilir, örneğintracBunları doğru parametrelerle bir Alt Program veya Fonksiyona dönüştürün ve çağrıları güncelleyin. Bu, komut dosyalarını daha kısa ve bakımı daha kolay hale getirir.

Evet. Yapay zeka yapabilir. tracByRef ve ByVal yöntemleriyle bir değerin nasıl değiştiğini gösterin, her birinin çıktısını gösterin ve arayanın değişikliği görmesi gerekip gerekmediğine bağlı olarak hangisinin kullanılacağını önerin.

Bu yazıyı şu şekilde özetleyin: