[Unity]TIL (54) | 2023.10.12 | 람다식

kjg5370·2023년 10월 12일
0

TIL

목록 보기
54/91
post-thumbnail

들어가기 앞서

오늘은 개인과제 해설 세션을 듣게 되었습니다. 거기서 델리게이트와 람다에 관한 이야기가 나왔는데 람다는 약간 모양이 생소하다 보니 정리 해 본적이 없는 것 같습니다. 그래서 짧게 정리 해보려고 합니다.

오늘 배운 것

  • 람다식(lambda expression)
    프로그래밍에서 익명 함수(anonymous function)를 만들기 위한 간결한 방법

  • 특징

    익명 함수: 람다식은 이름이 없는 함수로, 한 번 사용하고 버릴 수 있는 간단한 함수를 정의하는데 유용함.

    간결성: 람다식을 사용하면 코드를 간결하게 유지할 수 있으며, 작은 함수를 짧게 표현할 수 있음.

    함수형 프로그래밍: 람다식은 함수형 프로그래밍 패러다임을 지원하는 중요한 기능으로, 함수를 값처럼 다룰 수 있게 함.

  • 예제

     using System;
    
    class Program
    {
        static void Main()
        {
            // 간단한 람다식을 사용한 델리게이트
            Func<int, int, int> add = (x, y) => x + y;
            int result = add(2, 3);
            Console.WriteLine(result);  // 출력: 5
    
            // LINQ 쿼리에서 람다식 사용
            int[] numbers = { 1, 2, 3, 4, 5 };
            var evenNumbers = numbers.Where(n => n % 2 == 0);
            foreach (var number in evenNumbers)
            {
                Console.WriteLine(number);  // 출력: 2, 4
            }
        }
    }

위의 예제에서 Func<int, int, int> add는 두 정수를 더하는 함수를 나타내며, 람다식 (x, y) => x + y를 사용하여 정의.

LINQ 쿼리에서도 람다식을 사용하여 필터링 조건을 지정할 수 있음.

기억 할 것

  • 간단한 팝업 띄우기

    • 델리게이트 이용

        public class PopupManager : MonoBehaviour
      {
          public void ShowPopup(Action action)
          {
              Debug.Log("팝업을 띄웁니다.");
      
              // 전달된 action 실행
              action.Invoke();
          }
      }
    • 람다식을 전달

      public class Example : MonoBehaviour
      {
          private void Start()
          {
              // 팝업 매니저 생성
              PopupManager popupManager = new PopupManager();
      
              // 람다식을 직접 전달
              popupManager.ShowPopup(() =>
              {
                  Debug.Log("팝업에서 실행될 동작을 정의합니다.");
              });
          }
      }

이런 식으로 매개변수 Action에 들어가야 할 함수를 전달 할 때 람다식을 사용하여 코드를 간결하게 줄일 수 있음.

내일 할 일

  • 팀 프로젝트 회의
profile
학생입니다

0개의 댓글