문의를 보내주셔서 감사합니다! 팀원이 곧 연락드리겠습니다.
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