Menu
CoddyTech

Lambda Fonksiyonları Bölüm 1

Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 54 / 78.

lambda, değer olarak yazılan isimsiz bir fonksiyondur. Onu bir sayı veya metin gibi bir değişkende saklayabilirsin:

var add = func(a, b): return a + b

func ile başlar; her fonksiyonda olduğu gibi parametreler ve iki nokta üst üste gelir, ancak adı yoktur. Tek ifadeden oluşan bir gövde aynı satırda kalabilir.

Bir değişkende saklanan lambda'yı çalıştırmak için, argümanlarıyla birlikte call() metodunu çağırın:

print(add.call(5, 3))
8

add(5, 3) çalışmaz: GDScript betikte add adlı bir işlev arar ve program çalışmadan önce Function "add()" not found hatasını verir.

Daha uzun bir lambda, girintili bir bloğa sahiptir. Her fonksiyon gibi, bir değer döndürmek için return kullanması gerekir:

var greet = func(player_name):
	var message = "Hello, " + player_name
	return message + "!"
print(greet.call("Ana"))
Hello, Ana!

return içermeyen bir lambda null döndürür; bu nedenle func(n): n * 2 değeri hesaplar ve onu atar.

Parametrelerin ve sonucun türleri olabilir: func(n: int) -> int: return n * 2. Bir lambda'nın değeri, "çağırabileceğiniz bir şey" için GDScript türü olan Callable'dır.

challenge icon

Görev

Kolay

Program üç tam sayı okur: a, b ve c.

  1. Üç parametreli, x, y ve z, çarpımlarını döndüren bir lambda oluştur ve bunu multiply adlı bir değişkende sakla.
  2. Onu a, b ve c ile çağır ve sonucu yazdır.

2, 3 ve 4 girdileri için çıktı şöyledir:

24

Kendin dene

extends Node

func _ready():
	var a := int(OS.read_string_from_stdin())
	var b := int(OS.read_string_from_stdin())
	var c := int(OS.read_string_from_stdin())
	# multiply lambda fonksiyonunu burada oluştur

	# multiply fonksiyonunu a, b ve c ile çağır ve sonucu yazdır
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online GDScript derleyicisi