Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Lua 소개
- 약간의 역사
- Lua의 목표, 특징 및 비목표
- Lua 문서 및 튜토리얼 리소스
- Lua 인터프리터 설치
- LuaRocks 설정 및 사용
기본 구문 및 의미
- 식별자
- 댓글, 블록 댓글
- 전역 변수 및 엄격성 강화
- 지역 변수
- 독립 실행형 프로그램, 프로그램 인수
- 컴파일 단위, 청크, 표현식, 세미콜론
데이터 유형 및 데이터 구조
- 기본 유형: nil, 부울, 숫자, 문자열
- 객체 유형: 함수, 사용자 데이터, 스레드, 테이블
- 참조/객체와 기본 값 비교
- Lua에서 테이블의 중요성
테이블 소개 및 다양성
- 연관 배열로서의 테이블
- 숫자형 배열, 시퀀스로 된 테이블
기본 제어 구조
- if then elseif else 종료
- while 루프
- 반복 루프
- 간단한 for 루프
오류 처리
- 반환 값과 예외
- 반환 값을 예외로 변환
- 예외를 반환 값으로 변환
- 오류 수준
예제 프로그램
- 다항식 평가
- 너비 우선 탐색
- 추가 연습
기능에 대한 추가 정보
- 명명된 인수
- 객체 지향 호출
- 폐쇄
- 카레링
- 테일콜
- 다중 할당 및 반환
- Varargs
반복자와 코루틴
- 일반적인 for 루프
- 상태 비저장 및 상태 저장 반복자
- 반복자와 코루틴의 차이점
메타테이블과 메타메서드
- 설정된 예
- __tostring 메타메서드
- 산술 메타메서드
- __index, __newindex 메타메서드
- __len 메타메서드
모듈 및 패키지
- 모듈 사용
- 모듈 생성
- 모듈을 패키지로 구성
고급 테이블
- 대기열 및 스택용 테이블
- 그래프를 설명하는 표
- 테이블로서의 행렬
- 테이블로 연결된 목록
- 문자열 버퍼
예제를 통한 메타테이블
- 프록시
- 읽기 전용
- 메모
- 메모이제이션을 이용한 동적 프로그래밍
- 피보나치의 예
환경
- 전역 변수와 환경의 관계
- 자유변수
- _ENV 테이블과 _G 테이블
모듈에 대한 추가 정보
- 모듈 생성에 대한 다양한 접근 방식
- 동작을 변경하는 모듈
- 모듈 초기화 및 인수
- 환경을 사용하여 안전한 모듈 구현
고급 반복자와 코루틴
- 생산자, 소비자, 필터
- 반복자를 얻기 위해 코루틴 래핑하기
- 연결된 목록에 대한 상태 비저장 반복자
생태계에 기여
- MoonRocks에 패키지 업로드
Lua의 기능적 패러다임
- 지도 기능
- 축소/접기 기능
객체지향 Programming
- OOP에 대한 다양한 접근 방식
- 상속에 대한 다양한 접근 방식
- 예
Lua 표준 라이브러리 둘러보기
편집
- 편집
- 평가
- 환경과의 관계
- 바이너리 청크
쓰레기 수거
- 약한 테이블
- 종료자, __gc 메타 메서드
Lua 바이트코드와 가상머신
- 소스 코드에서 바이트코드 생성
- 바이트코드 읽기 및 분석
- Lua VM의 소스 코드 둘러보기
C 모듈
- Lua에서 C에 전화 걸기
- Search C 모듈의 경로 및 로딩
C에서 Lua 호출 중
- 스택
- 오류 처리
- 계속
C에서 Lua 값 및 유형 처리
- 배열
- 문자열
- 사용자 데이터
- 메타테이블
- 객체 지향 호출
- 가벼운 사용자 데이터
메모리 관리
- 할당자
- GC API
Lua의 스레드
- 코루틴과 스레드
- 실제 멀티스레딩 및 Lua 상태
Requirements
하나 이상의 다른 프로그래밍 언어에 대한 지식. Programming 경험. 선택적으로 다른 스크립팅 언어에 익숙하다면 Lua를 더 쉽게 이해할 수 있습니다.
21 Hours