Girdi, bir programa eklenen ve kod tarafından değişiklik yapmak için kullanılan bilgilerdir.
Bir önceki derste verilen işlev örnekleri herhangi bir girdiye ihtiyaç duymuyordu:
GetNumberOfMousetrapsYouCanAfford() : int
Bunu biliyorsun, çünkü yukarıdaki işlev imzasındaki parantezlerin içi () boş durumdadır.
Parametreler
Bir işlevin ihtiyaç duyduğu girdiyi, işlev imzasına bir parametre ekleyerek tanımlayabilirsin.
Parametre, işlev imzasında parantezler arasında bildirilen bir sabittir. Bir parametre ayarlandığında, bunu işlevin gövdesinde kullanabilirsin.
Parametre içeren bir işlevin sözdizimi şöyle görünür:
name(parameter : type) : type =
codeblock
Aşağıdaki örnekte, CoinsPerMousetrap artık BuyMousetrap() işlevi için bir parametredir:
var Coins : int = 500
BuyMousetrap(CoinsPerMousetrap : int) : void =
set Coins = Coins - CoinsPerMousetrap
Print("Mousetrap bought! You have {Coins} coins left.")
Bu kodun söylediği şey şudur:
- Başlangıç tamsayı değeri 500 olan
Coinsadında bir değişkenin var:var Coins : int = 500. BuyMousetrap()adlı işlev,CoinsPerMousetrapparametresini alır. Ancak, bu işlevin bir değer döndürmesini istemezsin, bu yüzden türvoiddir.
Bağımsız Değişkenler
Parametreler bekleyen bir işlev çağırdığında, sabitlere değer atadığın gibi, parametrelere de değer ataman gerekir.
İşlevler için atanan bu değerler, işlevin bağımsız değişkenleri olarak adlandırılır.
BuyMousetrap() işlevini çağırmak için parantez içine bağımsız bir değişken eklersin. Bunu yapmanın birkaç yolu vardır.
Örneğin:
-
İşlev için parametrelerin tanımlanmasına benzer şekilde
BuyMousetrap(CoinsPerMousetrap := 10)u kullanabilirsin. 10, işlevin bağımsız değişkenidir ve sonucun değerini değiştirir. -
- ve 3. derslerden değişmez değerleri hatırlıyor musun? Parametreyle aynı türde bir değişmez değerini de kullanabilirsin.
- Üçüncü bir yol da önceden bildirilmiş bir değişken veya sabiti bağımsız değişkenin olarak kullanmaktır. İşlevi, bağımsız değişken için farklı değerler kullanarak çağırabilir ve farklı sonuçlar elde edebilirsin.
var Coins : int = 500
# Bu çağrıdan sonra Paralar 490 olur
BuyMousetrap(CoinsPerMousetrap := 10)
# Bu çağrıdan sonra Paralar 485 olur
BuyMousetrap(5)
CoinsPerMouseTrap : int = 20
# Bu çağrıdan sonra Paralar 465 olur
BuyMousetrap(CoinsPerMousetrap)
Birden Fazla Parametre
Parametreleri virgülle ayırdığın sürece işlev için istediğin kadar parametre tanımlayabilirsin.
İki parametreli bir işlevin sözdizimi şöyle görünür:
name(parameter : type, parameter : type) : type =
codeblock
İşlevi çağırdığında, işlev için parametrelerin tanımlanmasında olduğu gibi, bağımsız değişkenleri yeniden virgülle ayırman gerekir.
Özet
- Parametre, işlev imzasında bildirilen bir sabittir. Parantezler içinde yer alır.
- Bağımsız değişken, ilgili işleve dair parametrede kullanılan sabite atanan değerdir.
- Tek bir işlevde birden fazla parametreyi virgülle ayırman gerekir.