람다 함수 1부
Coddy GDScript 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 54번째.
람다는 값으로 작성되는 이름 없는 함수입니다. 숫자나 문자열처럼 변수에 저장할 수 있습니다:
var add = func(a, b): return a + b모든 함수와 마찬가지로 func, 매개변수, 콜론으로 시작하지만 이름은 없습니다. 문 하나로 이루어진 본문은 같은 줄에 둘 수 있습니다.
변수에 저장된 람다를 실행하려면 인수를 전달하여 call() 메서드를 호출하세요:
print(add.call(5, 3))8add(5, 3)는 작동하지 않습니다. GDScript는 스크립트에서 add라는 이름의 함수를 찾고 프로그램이 실행되기 전에 Function "add()" not found 오류를 보고합니다.
더 긴 람다에는 들여쓰기된 블록이 있습니다. 다른 함수와 마찬가지로 값을 반환하려면 return이 필요합니다.
var greet = func(player_name):
var message = "Hello, " + player_name
return message + "!"
print(greet.call("Ana"))Hello, Ana!return이 없는 람다는 null을 반환하므로, func(n): n * 2는 값을 계산한 뒤 버립니다.
매개변수와 결과에도 타입을 지정할 수 있습니다: func(n: int) -> int: return n * 2. 람다의 값은 Callable이며, "호출할 수 있는 무언가"를 뜻하는 GDScript 타입입니다.
챌린지
쉬움프로그램은 세 개의 정수를 읽습니다. a, b, c입니다.
- 세 개의 매개변수
x,y,z를 받는 람다를 만들고, 이들의 곱을 반환하도록 한 다음,multiply라는 이름의 변수에 저장합니다. a,b,c를 전달해 호출하고 결과를 출력합니다.
입력값이 2, 3, 4이면 출력은 다음과 같습니다.
24직접 해보기
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())
# 여기에 lambda multiply를 만드세요
# a, b, c를 인자로 multiply를 호출하고 결과를 출력하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 GDScript 컴파일러