SEO-Açıklama: Mecbur olmadıkça Verse kodunda aynı işi neden iki kez yapasın? Parent: learn-the-basics-of-writing-code-in-verse Order:9 Type: tutorial Tags: işlevler Tags: işlev çağrısı Tags: ifadeler Tags: yinelemeler Tags: koşullular Tags: dil Tags: verse Hero-image:lesson-hero.png Topic-image:lesson-topic.png Social-image:lesson-social.png Prereq: learn-code-basics-4-writing-simple-code-in-verse
Şu ana kadar, değerleri depolamak ve kullanmak için sabitler ve değişkenler oluşturmayı ve if ifadesi ile and ve or gibi karar işleçlerini kullanarak kodda nasıl karar alacağını öğrendin.
Şimdi sıra, programında kolayca yeniden kullanabileceğin şekilde nasıl kod yazacağını öğrenmeye geldi.
2. Ders’ten, ifadenin bir sonuç üreten en küçük kod birimi olduğunu hatırlıyor musun? Ayrıca bir ifade yürütüldüğünde ve bir değer çıktısı verdiğinde, verdiği değerin sonuç olduğunu da hatırladın mı?
Kodunu daha verimli hale getirmek için bu mantıktan faydalanabilirsin.
İfadeler, fonksiyonlar oluşturmak üzere diğer ifadelerle birleştirilebilir ve fonksiyonlar, her seferinde bunların ne yaptığını yeniden yazmak zorunda kalmadan kodunda tekrar tekrar kullanılabilir.
İşlevlerde İfadeleri Kullanma
Fonksiyon (yordam olarak da anılır), bir eylemi gerçekleştirmek veya girdiye dayalı bir çıktı oluşturmak için talimatlar sağlayan yeniden kullanılabilir koddur.
Fonksiyonlar birleştirilmiş ifadelerden oluşur.
Bir fonksiyonu tanımlamak için şunlara ihtiyacın vardır:
- Benzersiz bir ad veya tanımlayıcı.
- Ortaya çıkacak bilgilerin türü.
- Fonksiyonun çağrıldığı zaman ne yapacağı.
Bir fonksiyonun temel sözdizimi şöyledir:
name() : type =
codeblock
Kod blokları hakkında bir sonraki derste daha fazla bilgi edineceksin, ancak şimdilik yalnızca kod bloğunun, fonksiyonunu oluşturmak için kullandığın ifadeleri koyacağın yer olduğunu bilmen yeterli.
İşlevler ve İşlev Çağrıları
Fonksiyon, temel olarak adlandırmış olduğun bir ifadeler sekansıdır.
Bir program bir fonksiyonu adıyla çağırarak kullanır. Çağrı, söz konusu fonksiyonu çağırır (etkinleştirir). Bu işlemin adı fonksiyon çağrısıdır.
Yani bir fonksiyona koyduğun tüm ifadeleri defalarca kez tekrar etmek yerine, bunları adlandırılmış fonksiyon altında gruplandırabilir, ardından da programda o fonksiyonu her çağırdığında bilgisayarın o fonksiyona başvurarak içindeki ifadeleri yürütür.
Örneğin, CoinsPerMousetrapin her zaman 100 değerine sahip olması yerine, her çalıştığında rastgele bir değer seçerek bu değeri değiştirecek olan bir kod yazabilirsin.
Aşağıdaki örnekte ifade, GetRandomInt(1, 10) ifadesi kullanılarak birden ona kadar rastgele bir sayı üretecek şekilde ayarlanmıştır.
İfadenin açılımı aşağıdaki gibidir:
GetRandomInt() |
Bu, Verse’te yerleşik bir fonksiyondur ve adından da anlaşılabileceği gibi rastgele bir tamsayı üretir. |
1, 10 |
Üretebileceği sayısal aralığı gösterir. 20, 50 kullanmış olsaydın yirmi ile elli arasında bir sayı üretecekti. Aralığın, bu ifadenin adının bir parçası olan () içinde yer aldığına dikkat et. |
Bu bir fonksiyon çağrısıdır çünkü bilgisayara, 1’den 10’a kadar olacak şekilde ayarladığın aralıkta rastgele bir tamsayı alan fonksiyonu çağırmasını söyler.
Kodunda bir işlev kullanmak istediğinde, işlevi ad ile çağırabilirsin. Kodunda bir fonksiyon kullanmak istediğinde, fonksiyonu ad ile çağırabilirsin. GetRandomInt()’i her çağırdığında, yeni bir rastgele sayı üretilecektir.
Bir fare kapanının fiyatını rastgele biçimde değiştirmek için bunu kullanabilirsin:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Random }
OnBegin<override>()<suspends> : void =
# Paraları 500 olarak başlat. Bu bir var olduğundan onu daha sonra değiştirebilirsin.
var Coins : int = 500
# CoinsPerMousetrap’i 1 ile 100 arasında rastgele bir tamsayı ile başlat
CoinsPerMousetrap : int = GetRandomInt(1, 100)
# Paraların mevcut değerini (500) günlüğe yazdır.
Print("Coins starts at {Coins}.")
# Paraları CoinsPerMousetrap kadar azalt ve yeni değeri günlüğe yazdır.
set Coins = Coins - CoinsPerMousetrap
Print("After buying one mousetrap, Coins is {Coins}.")
Yukarıdaki örnekteki hemen hemen her kod satırında, kodun ne yaptığını açıklayan bir açıklama bulunduğuna dikkat et. Bu açıklamalar, hem belli bir zaman sonra koduna geri döndüğünde senin için hem de yazdığın koda ekleme yapmak veya kodda değişiklik yapmak isteyen diğer programcılar için faydalıdır.
Yöntemler
2. Ders’te bir türün, bir değişkende veya sabitte depolanan değerler üzerinde hangi işlemlerin gerçekleştirilebileceğini nasıl tanımladığını öğrendiğini hatırlıyor musun? Türlerin yaptığı başka şeyler de vardır.
Türlerin kendilerine ait işlemleri olduğu gibi kendilerine ait fonksiyonları da vardır. Bu fonksiyonlar metot olarak adlandırılır ve özel bir şekilde çağrılmalıdır.
Bir metot çağrısı için yalnızca metodun adının yazılması (Print() veya GetRandomInt()) yeterli değildir; metot çağrısı, bir değişkenin (veya sabitin) adıyla başlamalı ve bunu önce bir ., ardından da metodun adı takip etmelidir. Örneğin, bir Cat değişkeninde "Pounce()" metodunun çağrılması şöyle görünecektir:
Cat.Pounce()
Sınıflar
Sınıf, benzer davranış ve özelliklere sahip şeyler oluşturmak için kullanabileceğin bir şablondur. Sınıf, bileşik bir türdür, yani diğer türlerden gelen bir veri paketinden oluşur.
Bir sınıf tanımladığında, o sınıfın verileri herhangi bir alt sınıf tarafından devralınabilir.
O halde metot, bir sınıfa ekli bir fonksiyondur. Bundan dolayı, her metot her türle çalışmaz. Metot, o türün sınıf tanımında veya türün devralım yaptığı bir sınıfta bildirilmelidir. Bunun ne demek olduğunu henüz tam olarak anlamadıysan endişelenme; bu yalnızca bir ön bilgi. İlerleyen derslerde bu konuda daha fazla bilgi alacaksın.
Özet
- Fonksiyon, yeniden kullanabileceğin bir adlandırılmış ifadeler sekansıdır.
- İşlevler yordamlar olarak da bilinir.
- Fonksiyonlar zamandan tasarruf sağlar ve hataları azaltır, çünkü aynı kodun birden fazla satırını tekrar tekrar yazman (veya bunların bakımını yapman) gerekmez.
- Bir kod satırındaki bir fonksiyonu yeniden kullandığında, bunu bir fonksiyon çağrısı ile yaparsın.
- Metot, belirli bir türe ait olan ve o türün bir değişkeninde veya sabitinde çağrılması gereken bir fonksiyondur.
- Sınıflar, diğer türlerdeki verileri birleştirmene, ardından davranış ve özellikleri alt sınıflarla paylaşmana olanak tanıyan bileşik türlerdir.