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 의 짝수값만 필터링 된 리스트 변수가 되는 것!