Unity Study

람다식 정의하기

오늘도즐겨 2024. 12. 2. 02:16

람다식은 익명의 함수를 정의 - 이름 없는 작은 함수

장점 : 코드의 간결성, 다름 메소드나 함수에 전달하기 편하게 만들어줌

예를 들어 강의 중 나온 점프시 중력값을 적용한 곳에서 람다식이 나왔는데,

public Vector3 Movement => Vector3.up * verticalVelocity;

 

위 의       =>     이해 되지 않아 검색 해보니

아래와 같은 의미로 해석이 가능 하다.

public Vector3 Movement
{
    get { return Vector3.up * verticalVelocity; }
}

 

즉 프로퍼티를 간소화한 것과 같은 의미가 된다.

 

💡띠용! 너무 편하잖아????

속성 값이나 반환 값을 정의 하는 축약표현!

 

예시1

Func<int, int, int> add = (a, b) => a + b;

 

위에서 (a, b) 는 함수의 입력값이고, => a+b는 출력해주는 값이 된다.

즉 a+b를 출력하게 되니, add(3,4)를 다른 곳에서 호출하면, 7이 반환됨.

 

 

⭐예시2

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumbers = numbers.Where(n => n % 2 == 0).ToList();

짝수 인것만 반환하는 람다식  : n을 출력 할 때에 n % 2 == 0 은 나머지가 0, 즉 1이 아니니 짝수 일 것 이다. 

위에서 .ToList(); 는 ToString(); 과 같이 출력값을 List로 뱉어 주는 것 같다.

즉, evenNumbers = numbers 의 짝수값만 필터링 된 리스트 변수가 되는 것!