문의를 보내주셔서 감사합니다! 팀원이 곧 연락드리겠습니다.
예약을 보내주셔서 감사합니다! 저희 팀 멤버 중 한 분이 곧 연락드리겠습니다.
기간 14 시간
코스 개요
Lua 소개
- 약간의 역사
- Lua의 목표, 특징 및 비목표
- Lua 문서 및 튜토리얼 리소스
- Lua 인터프리터 설치
- LuaRocks 설정 및 사용
기본 문법 및 의미론
- 식별자
- 주석, 블록 주석
- 전역 변수 및 엄격성 강제
- 로컬 변수
- 독립형 프로그램, 프로그램 인자
- 컴파일레이션 유닛, 청크, 식, 세미콜론
데이터 타입 및 데이터 구조
- 기본 타입: nil, boolean, number, string
- 오브젝트 타입: function, userdata, thread, table
- 레퍼런스/오브젝트 vs 기본 값
- Lua에서 테이블의 중요성
테이블 및 그 다재다능성 소개
- 연결 배열로서의 테이블
- 숫자 배열, 시퀀스로서의 테이블
기본 제어 구조
- if then elseif else end
- while 루프
- repeat 루프
- 단순 for 루프
오류 처리
- 반환 값 vs 예외
- 반환 값을 예외로 변환
- 예외를 반환 값으로 변환
- 오류 레벨
예제 프로그램
- 다항식 평가
- 너비 우선 탐색
- 추가 연습문제
함수에 대해 더 알아봅시다
- 이름 지정 인자
- 객체 지향 호출
- 클로저
- 커링
- 테일 호출
- 다중 대입 및 반환
- 가변 인자
이터레이터 및 코루틴
- 범용 for 루프
- 무상태 vs 유상태 이터레이터
- 이터레이터와 코루틴의 차이점
메타테이블 및 메타메서드
- Set 예제
- __tostring 메타메서드
- 산술 메타메서드
- __index, __newindex 메타메서드
- __len 메타메서드
모듈 및 패키지
- 모듈 사용
- 모듈 생성
- 패키지로 모듈 조직화
객체 지향 프로그래밍
- Lua의 OOP 구성 요소
- 예제
더 고급 언어 기능에 대한 토론
- 약한 테이블
- 마련자(파이너라이저)
- 컴파일, eval, 로딩
요건
최소 한 가지 다른 프로그래밍 언어에 대한 익숙함. 프로그래밍 경험. 선택 사항으로, 다른 스크립팅 언어에 익숙한 경우 Lua를 이해하는 데 도움이 될 수 있습니다.