익명함수와 람다식
DevCho1107
·2020. 2. 4. 15:40
익명 함수와 람다식
익명 함수는 미리 정의하지 않고, 인라인(실행 중인 코드 블록 내부)에서 즉석 생성할 수 있는 메소드이다.
익명 함수는 실시간으로 생성할 수 있으며, 변수에 저장할 수 있는 값이나 오브젝트로 취급되며, 생성된 익명 함수는 델리게이트 타입의 변수에 저장할 수 있다. 단, 익명 함수는 미리 정의하지 않고 대부분 일회용으로 실시간 생성해서 사용하기 때문에 스코프 외부에서 따로 지칭할 수 있는 이름을 가지고 있지 않다.
익명 함수를 사용하면 실시간으로 일회용 메소드를 생성하고 이벤트로 등록할 수 있다.
간단한 예제를 보자.
1 2 3 4 5 6 7 8 9 10 11 | using UnitytEngine class EnemySpawner : MonoBehaviour { private void CreateEnemy(float intensity){ Enemy enemy = Instantiate(enemyPrefab, spawnPoint.position, spawnPoint.rotation); //람다식을 통한 메소드의 오브젝트식 생성(익명 함수) 및 이벤트에 추가 enemy.onDeath += () => enemies.Remove(enemy); enemy.onDeath += () => enemies.Destroy(enemy.gameObject,10f); } } 출처 - 레트로의 우니티 프로그래밍 에센스 | cs |
(입력) => 내용;
(사실 이 책에서만 설명하는 내용으로 감이 안오는데, 몇가지 예제를 더 찾아보고 사용해봐야 할 것 같다.)
'< Programming > > C#' 카테고리의 다른 글
메모리 구조에 관한 몇가지 정리(C,C++,C# 공통) (0) | 2020.02.06 |
---|---|
유니티 포스트 프로세싱(Post processing) (0) | 2020.02.04 |
System.Action ? ( 델리게이트 ) (0) | 2020.02.03 |
interface 사용하기 (0) | 2020.02.03 |
유니티 스크립트 : 지정 축 기준으로 회전 (0) | 2020.01.09 |