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

Number of participants


Price per participant

Upcoming Courses

Related Categories