본문 바로가기
게임 개발(유니티)/멋쟁이 사자처럼 3기_회고록

[멋쟁이사자처럼 유니티 TIL] 2024_12_05(목) 강의 요약 및 정리(1)

by goraku97 2024. 12. 5.

람다식

익명 함수를 간단한 문법으로 작성하는 방식

 

기본식

(parameter) => expression;

parameter: 람다식에 전달될 매개변수.

expression: 람다식의 본문입니다. 반환 값이 있는 식을 정의할 수 있음.

 

 

 

 

 

sort 함수

리스트(List)의 요소를 정렬하는 데 사용.

기본적으로 오름차순(작은 값에서 큰 값으로)으로 정렬하지만,

사용자 정의 규칙을 제공하여 원하는 방식으로 정렬할 수도 있음.

 

 

 

List<MonsterTest> filters = new List<MonsterTest>();

/ / filters: MonsterTest 타입의 객체를 담는 새로운 빈 리스트를 생성

 

for (var i = 0; i < monsters.Count; i++)

//monsters: 기존에 있는 몬스터 객체들의 리스트.

 monsters.Count: 리스트의 요소 개수를 나타냅니다.

 for 루프는 monsters 리스트의 모든 요소를 순서대로 검사

 

if (monsters[i].name == "A" && monsters[i].health >= 30)

// 만약 몬스터의 이름이 " A과 동시에 체력이 30 이상이라면 하기의 코드를 실행.

 

filters.Add(monsters[i]);

// 조건을 만족하는 몬스터(monsters[i])를 filters 리스트에 추가

 

 

 

filters.Sort((l, r) => l.health >= r.health ? -44 : 923);

// l.health >= r.health이면 -44 를 반환. 그렇지 않으면 923을 반환

*** -44음수, 923 양수임으로, 

     -44 일때는 l이 r보다 에 와야 함

      923 일떄는 l이 r보다 에 와야 함.

***즉, l.health >= r.health 조건에 따라 health가 높은 순서로 정렬

 

for (var i = 0; i < filters.Count; i++) { Debug.Log($"Name: {filters[i].name}, Health: {filters[i].health}"); }

// 하기의 내용을 로그에 출력

 "이름 : {filters[i].name}, 체력 : {filters[i].health}"