Menu
CoddyTech

람다 함수 1부

Coddy GDScript 여정의 논리와 흐름 섹션에 포함된 레슨. 78개 중 54번째.

람다는 값으로 작성되는 이름 없는 함수입니다. 숫자나 문자열처럼 변수에 저장할 수 있습니다:

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

모든 함수와 마찬가지로 func, 매개변수, 콜론으로 시작하지만 이름은 없습니다. 문 하나로 이루어진 본문은 같은 줄에 둘 수 있습니다.

변수에 저장된 람다를 실행하려면 인수를 전달하여 call() 메서드를 호출하세요:

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

add(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 타입입니다.

challenge icon

챌린지

쉬움

프로그램은 세 개의 정수를 읽습니다. a, b, c입니다.

  1. 세 개의 매개변수 x, y, z를 받는 람다를 만들고, 이들의 곱을 반환하도록 한 다음, multiply라는 이름의 변수에 저장합니다.
  2. 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를 호출하고 결과를 출력하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨

직접 연습해 보세요: 온라인 GDScript 컴파일러