상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
비동기 프로그래밍에서 'task prioritization'은 어떻게 처리하나요?
돈을 관리하는 데 있어 기술의 역할은 무엇인가요?
상하이의 유명한 패션쇼는 어떤 것이 있나요?
홍콩의 주요 환경 문제는 무엇인가요?
베트남에서 한 달 생활비는 어느 정도인가요?
스위스의 유명한 기차역은 어디에 있나요?
스위스의 도시 중에서 가장 많은 대학이 있는 도시는 어디인가요?
스위스의 도시에서 가장 유명한 시장은 어디인가요?
스위스의 도시 중에서 가장 많은 스포츠 클럽이 있는 도시는 어디인가요?
강원도에서 추천하는 숙소는 어디인가요?
강원도에서의 유명한 박물관은 어디인가요?
강원도에서의 유명한 동물원이나 수족관은 어디인가요?
Previous
Next
수정하기 - 루아에서 `table.sort` 함수는 어떻게 사용하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
루아(Lua)에서 `table.sort` 함수는 테이블을 정렬하는 데 사용되는 내장 함수입니다. 이 함수는 주어진 테이블의 요소를 오름차순으로 정렬하며, 필요에 따라 사용자 정의 정렬 기준을 제공할 수도 있습니다. 아래에서 `table.sort` 함수의 사용법에 대해 자세히 설명하겠습니다. <a href='https://sangseek.com/sangseeks/기본 사용법/ko'>기본 사용법</a> `table.sort` 함수의 기본 구문은 다음과 같습니다: ```lua table.sort(table) ``` 여기서 `table`은 정렬할 테이블입니다. 이 경우, 테이블의 요소는 기본적으로 오름차순으로 정렬됩니다. 예제 ```lua local numbers = {5, 3, 8, 1, 4} table.sort(numbers) for i, v in ipairs(numbers) do print(v) end ``` 위의 코드를 실행하면 다음과 같은 결과가 출력됩니다: ``` 1 3 4 5 8 ``` 사용자 정의 정렬 기준 `table.sort` 함수는 두 번째 <a href='https://sangseek.com/sangseeks/인수/ko'>인수</a>로 사용자 정의 비교 함수를 받을 수 있습니다. 이 함수는 두 개의 인수를 받아서, 첫 번째 인수가 두 번째 인수보다 작으면 `true`를 반환하고, 그렇지 않으면 `false`를 반환해야 합니다. 이를 통해 정렬 기준을 자유롭게 설정할 수 있습니다. 예제 내림차순으로 정렬하고 싶다면 다음과 같이 사용자 정의 함수를 사용할 수 있습니다: ```lua local numbers = {5, 3, 8, 1, 4} table.sort(numbers, function(a, b) return a > b -- a가 b보다 크면 true를 반환 end) for i, v in ipairs(numbers) do print(v) end ``` 이 코드를 실행하면 다음과 같은 결과가 출력됩니다: ``` 8 5 4 3 1 ``` 복잡한 데이터 구조 정렬 `table.sort`는 복잡한 데이터 구조를 정렬하는 데도 사용할 수 있습니다. 예를 들어, 테이블의 각 요소가 다른 테이블인 경우, 특정 키를 기준으로 정렬할 수 있습니다. 예제 아래는 사용자 정보를 담고 있는 테이블을 나이 기준으로 정렬하는 예제입니다: ```lua local people = { {name = "Alice", age = 30}, {name = "Bob", age = 25}, {name = "Charlie", age = 35} } table.sort(people, function(a, b) return a.age < b.age -- 나이가 적은 순서로 정렬 end) for i, person in ipairs(people) do print(person.name, person.age) end ``` 이 코드를 실행하면 다음과 같은 결과가 출력됩니다: ``` Bob 25 Alice 30 Charlie 35 ``` 주의사항 1. 원본 테이블 수정 : `table.sort`는 원본 테이블을 직접 수정합니다. 즉, 정렬 후 원본 테이블의 순서가 변경됩니다. 2. 안정성 : 루아의 `table.sort`는 안정 정렬이 아닙니다. 즉, 동일한 값을 가진 요소의 상대적인 순서는 보장되지 않습니다. 3. 비교 함수 : 비교 함수는 반드시 두 개의 인수를 받아야 하며, `nil`을 반환하면 기본적으로 `false`로 간주됩니다. 결론 루아의 `table.sort` 함수는 테이블을 정렬하는 강력하고 유용한 도구입니다. 기본적인 오름차순 정렬뿐만 아니라, 사용자 정의 비교 함수를 통해 다양한 방식으로 정렬할 수 있습니다. 이를 통해 복잡한 데이터 구조를 효과적으로 관리하고 원하는 방식으로 정렬할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기