Blueyescat
Bedrock Kaşifi
- Mesajlar
- 1,656
- En iyi cevaplar
- 0
- Beğeniler
- 1,177
- Puanları
- 3,120
- Ruh hali
Fonksiyon Nedir?
Fonksiyonun diğer anlamı işlev yani bir şeyin yaptığı iştir. Skript'te de aynen böyledir. Bir işlemin birden çok kez kullanılması gerektiğinde kodu uzatmak yerine o işlemin başka yerlerden birçok kere çağrılmasını sağlar. Ayrıca duruma göre kodun güzel gözükmesini sağlar, sistemin karışıklılığını azaltır, performansı arttırır.
Fonksiyon Oluşturma
Fonksiyon oluşturma kodları normal bir olay (event) gibi yazılabilir.
Fonksiyon oluşturmak için aşağıdaki kod kalıbı kullanılabilir. Türkçe kısımlar değiştirilebilir.
Değer döndürmek için
Fonksiyon Çağırma
Fonksiyon çağırma kodları normal bir etki (effect) olarak yazılabilir. Eğer fonksiyon bir değer döndürebiliyorsa, bir ifade (expression) olarak da yazılabilir. Bir fonksiyon çağrıldığında, fonksiyon oluşturma kodunun içindeki kodlar çalıştırılır.
Örnekler
Bu fonksiyon 1. parametreye girilen oyuncuyu
2. satır içindeki kod 100 kere çalışacak bir döngü oluşturur.
Son satır
Kullanım
Bu fonksiyon 1. parametreye girilen oyunculara 2. parametrede ki yazıyı 3. parametrede ki sayı kadar gönderir.
Eğer 3. parametrede girilmemiş ise
Kullanımlar
Bu fonksiyon 1. parametreye girilen sayı listesini döngüye alır ve döngüdeki her değeri
Kullanımlar
Hiçbir parametresi olmayan bir fonksiyon oluşturur.
Kullanım
Bu fonksiyon 1. parametreye girilen listeyi ters çevirip geri döndürür. Örneğin 1, 2 ve 3 --> 3, 2 ve 1
Kullanım
Bu fonksiyon 1. parametreye girilen liste 2. parametrede ki değeri içeriyor mu diye kontrol eder. İçeriyorsa
Kullanımlar
Varsayılan Fonksiyonlar
Skript varsayılan olarak birçok fonksiyon kaydeder. Bunların listesini, kalıplarını, açıklamalarını ve örneklerini burada bulabilirsiniz.
Fonksiyonun diğer anlamı işlev yani bir şeyin yaptığı iştir. Skript'te de aynen böyledir. Bir işlemin birden çok kez kullanılması gerektiğinde kodu uzatmak yerine o işlemin başka yerlerden birçok kere çağrılmasını sağlar. Ayrıca duruma göre kodun güzel gözükmesini sağlar, sistemin karışıklılığını azaltır, performansı arttırır.
Fonksiyon Oluşturma
Fonksiyon oluşturma kodları normal bir olay (event) gibi yazılabilir.
Fonksiyon oluşturmak için aşağıdaki kod kalıbı kullanılabilir. Türkçe kısımlar değiştirilebilir.
function fonksiyonAdı(parametreAdı: tip = varsayılanDeğer) :: dönüşTipi:
- Parametreler virgüller ile çoğaltılabilir.
- İstenirse hiç parametre girilmez.
= tip
girilecek parametrenin zorunlu tipini belirler.- Bütün tipleri kabul etmek için
object
tipi kullanılabilir. - Eğer parametreye liste girilmesi istenirse, tip çoğullaştırılabilir. (number -> numbers, entity -> entities gibi.)
- Bütün tipleri kabul etmek için
= varsayılanDeğer
eğer fonksiyon çağrılırken bu parametre girilmezse varsayılan olarak kullanılacak değeri belirler. Zorunlu bir parametre girilmezse script yüklenirken hata verir.- İsteğe bağlı.
:: dönüşTipi
eğer fonksiyon bir değer döndürecek ise kullanılır. Bunun yerine dönüş tipi girilir (number, text, object, item gibi).- Eğer bir liste döndürülmesi istenirse, tip çoğullaştırılabilir. (object -> objects, item -> items gibi.)
- İsteğe bağlı.
değişkenAdı
parametresi için {_değişkenAdı}
gibi.Değer döndürmek için
return %objeler%
etkisi kullanılır. Bu etki kodu stop
etkisi kullanmış gibi durdurur.Fonksiyon Çağırma
Fonksiyon çağırma kodları normal bir etki (effect) olarak yazılabilir. Eğer fonksiyon bir değer döndürebiliyorsa, bir ifade (expression) olarak da yazılabilir. Bir fonksiyon çağrıldığında, fonksiyon oluşturma kodunun içindeki kodlar çalıştırılır.
fonksiyonAdı(parametreler)
- Parametreler virgüller ile çoğaltılabilir.
- Eğer bir parametreye liste girilecekse, bu listenin fonksiyon parametreleriyle karışmaması için parantez içine alınması gerekir.
Örnek:fonksiyonAdı(parametre1, (değer1, değer2 and değer3), parametre3) # 3 parametreli bir fonksiyon{liste::*}
veyaall players
direkt olarak parametreye yazılabilir.
Örnekler
JSON:
function sohbetTemizle(p: player):
loop 100 times:
send "" to {_p}
{_p}
değişkenine atar.2. satır içindeki kod 100 kere çalışacak bir döngü oluşturur.
Son satır
{_p}
değişkeninde ki oyuncuya boş bir mesaj gönderir.Kullanım
Less:
command /sohbetimiTemizle:
trigger:
sohbetTemizle(player)
sohbetTemizle
fonksiyonunu 1. parametreye komutu yazan oyuncuyu girerek çalıştırır.
SQL:
function mesajGönder(oyuncular: players, mesaj: text, sayı: number = 1):
loop {_sayı} times:
send {_mesaj} to {_oyuncular::*}
Eğer 3. parametrede girilmemiş ise
{_sayı}
değişkeni otomatik olarak 1 yapılır.Kullanımlar
SQL:
mesajGönder(player, "mesaj", 10) #10 Kere
mesajGönder(all players, "mesaj") #1 Kere
Java:
function toplam(sayilar: numbers) :: number:
broadcast "topla fonksiyonu çalıştırıldı"
loop {_sayilar::*}:
add loop-value to {_toplam}
return {_toplam}
{_toplam}
değişkeninin üzerine ekler. Örneğin listede 1, 2 ve 3 sayıları varsa {_toplam}
değişkenine önce 1, sonra 2 ve en son 3 eklenir. Sonuçta {_toplam}
değişkeni 6 olur.Kullanımlar
Ruby:
set {_sayıListesi::*} to 6, 3 and 9
set {_sonuç} to toplam({_sayıListesi::*})
if toplam(1, 6 and 9) is 16: # Fonksiyon zaten 1 parametreli olduğu için listenin parantez içine alınmasına gerek yok
send "Doğru"
send "%toplam({_sayılar::*})%"
C-like:
function değişkenleriAyarla():
set {değişkenler::1} to "değer"
set {değişkenler::liste::2} to true
set {değişkenler::3} to 3
Kullanım
Ruby:
on load:
değişkenleriAyarla() # Tabii ki load olayı zorunlu değil
Ruby:
function tersListe(liste: objects) :: objects:
loop size of {_liste::*} times:
set {_index} to size of {_liste::*} - loop-number - 1
add {_liste::%{_index}%} to {_ters::*}
return {_ters::*}
Kullanım
Ruby:
set {_liste::*} to tersListe({_liste::*}) # {_liste::*} listesi ters çevrilmiş olur
Ruby:
function içeriyorMu(liste: objects, arama: object) :: boolean:
loop {_liste::*}:
if loop-value is {_arama}:
return true
return false
true
, içermiyorsa false
döndürür.return
kodu durduracağı için üstteki return
çalışmamış ise alttaki return
çalışır, yani liste belirtilen şeyi içermiyordur ve false
döndürülür.Kullanımlar
Ruby:
if içeriyorMu(("a", "b" and "c"), "d") is true: # Fonksiyon 1 yazı listesi ve 1 yazı ile çağrılır
send "Evet"
else:
send "Hayır"
set {_liste::*} to "a", "b" and "c"
send "Kontrol: %içeriyorMu({_liste::*}, ""c"")%"
Varsayılan Fonksiyonlar
Skript varsayılan olarak birçok fonksiyon kaydeder. Bunların listesini, kalıplarını, açıklamalarını ve örneklerini burada bulabilirsiniz.
————————————————————————————————————————
Sorularınızı yorum yazarak sorabilirsiniz.
Discord Skript Topluluğu
Sorularınızı yorum yazarak sorabilirsiniz.
Discord Skript Topluluğu
Son düzenleme: