The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
Fonksiyon tanımı
Şimdi birkaç örneği inceledikten sonra fonksiyon tanımının genel biçimine bakalım:
void function-name() {
Değişkenlerin bildirimleri, vb.
İfadeler...
//açık bir geri dönüşe gerek yok.
}
Bir işlev özel bir değer veya gelen parametre döndürmez.
void function-name(veri tipi değişken) {
Değişkenlerin bildirimleri, vb.
İfadeler...
//açık bir geri dönüşe gerek yok.
}
Birden fazla değişken istiyorsanız sınırlayıcı olarak `` karakterini kullanmanız yeterlidir:
Bir fonksiyon özel bir değer döndürmez, ancak tek bir parametreyle döner.
void işlev adı (veri türü değişkeni, veri türü değişkeni, vb.) {
Değişkenlerin bildirimleri, vb.
İfadeler...
//açık bir geri dönüşe gerek yok.
}
Bir işlev özel bir değer döndürmez, ancak birden fazla parametreyle döner.
void işlev adı (veri türü değişkeni, veri türü değişkeni, vb.) {
Değişkenlerin bildirimleri, vb.
İfadeler...
dönüş değeri
döndürün }
Bir işlev, belirli bir veri türünün değerini ve birden fazla giriş parametresiyle döndürür.
Bir işlevindönüştürü, işlevin döndürdüğü dönüş değerinin veri türüyle aynı olmalıdır. dönüş değerisabit bir değer veya değişken olabilir. Başında “return” anahtar kelimesi bulunmalıdır.”
Aşağıdaki kurallar dönüş türünü yönetir:
- Dönüş türünde dizi dışında neredeyse hiçbir kısıtlama yoktur. (Dizi, verilerinizin nasıl oluşturulacağıyla ilgili daha ileri düzey bir konudur. Bu makalenin kapsamı dışındadır ve burada ele alınmayacaktır.
- Dönüş tipinin "void" olduğunu belirtmek, dönüş değerinin gerekli olmadığı anlamına gelir. "Geri dönmek" ifadesi örtülüdür. Bu, bir "void" fonksiyonunun sonunda açıkça "return" ifadesini belirtmeniz gerektiği anlamına gelir.
Main()'dan önce mi yoksa sonra mı bir fonksiyon oluşturuyorsunuz?
Derleyici dosyanızı yukarıdan aşağıya doğru okur. Bu nedenle sıra önemlidir.
Örnek olarak basit En Büyük Ortak Payda (GCD) fonksiyonunu ele alalım. Bir hata alırsınız:bildirilmemiş tanımlayıcı 'getGCD' kullanımı
Aslında bu, ister main()'dan ister başka çağıran fonksiyon bloğundan olsun doğrudur, yani "çağrılan fonksiyon bloğu", "çağrıyan fonksiyon bloğundan" önce gelmelidir.
İki olası çözüm:
int getGCD(int a, int b) {
int kalan = 1;
while (kalan > 0) {
kalan = a % b;
a = b;
b = kalan;
}
dönüş a;
}
int main() {
Brain.Screen.printAt(5,60, “GCD ( %d, %d ) = %d”, getGCD(60, 100) );
}
"Main()" örneğinde "çağrılan işlevi" "çağıran işlev bloğunun" üzerine taşıyın.
int getGCD(int, int);
int main() {
Brain.Screen.printAt(5,60, "GCD ( %d, %d ) = %d", getGCD(60, 100) );
}
int getGCD(int a, int b) {
int kalan = 1;
while (kalan > 0) {
kalan = a % b;
a = b;
= kalan;
}
dönüş a;
}
Fonksiyonun prototipini (imza olarak da bilinir) "çağıran fonksiyon bloğunun" önüne koyun.
Farklı dosyalardaki işlevleri modülerleştirmek isterseniz ne olur?
Adım 1: Bir başlık dosyası oluşturun ve fonksiyonun prototipini bu dosyaya yerleştirin.
örneğin “myFuncs.h” adında bir dosya oluşturun
Kodunuzu derlemeden önce bu başlık dosyasını projenize "eklemeniz" gerekir. Bu, VEXcode Pro V5 IDE'nin projenizi oluşturmaya başlamadan önce bu yeni başlık dosyasının dahil edildiğinden "farkında olmasını" sağlar.
İşte nasıl:



Bu başlık dosyasında “common.h” (boşluksuz alfanümerik olduğu sürece istediğiniz ismi verebilirsiniz.)
Adım 2: Common.cpp adında ayrı bir cpp dosyası oluşturun

//bu common.cpp dosyasıdır
int getGCD(int a, int b) {
int kalan = 1;
while (kalan > 0) {
kalan = a % b;
a = b;
b = kalan;
}
dönüş a;
}
getGCD(...) fonksiyonunu bu dosyaya taşıyın
#include "vex.h"
#include "common.h"
vex ad alanını kullanarak;
int main() {
vexcodeInit();
Brain.Screen.printAt(5,60, "GCD ( %d, %d ) = %d", getGCD(60, 100) );
}
Artık ana cpp dosyasında sahip olduğunuz tek şey aşağıdakilerden oluşacaktır:
Referans:https://api.vexcode.cloud/v5/html/namespacevex.html
Gelecekteki konular VEX Kütüphanesinin daha ileri düzey bölümlerinde ele alınacaktır:
- Değere göre geçiş ve referansa göre geçiş
- Bir diziye geçiş
- Bir yapıya geçmek