일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 루아
- 예외
- exception
- 티스토리챌린지
- 게임
- UE4
- effective stl
- implicit conversion
- resource management class
- more effective c++
- operator new
- 메타테이블
- 스마트 포인터
- 언리얼
- Effective c++
- reference
- 비교 함수 객체
- Smart Pointer
- 반복자
- 오블완
- lua
- 영화 리뷰
- c++
- 암시적 변환
- 참조자
- 영화
- 상속
- 다형성
- Vector
- virtual function
- Today
- Total
목록루아 (3)
스토리텔링 개발자
개요 테이블에 값 할당을 커스텀할 때 무심코 실수할만한 부분이 있어 정리했습니다. __newindex란? 테이블에 값 할당을 시도할 시 해당 키가 존재하지 않는다면 동작하는 메타테이블의 재선언 가능입니다. [Lua] 메타 테이블(Metatable) 문제점 위 정의에서 문제가 되는 부분은 '해당 키가 존재하지 않는다면' 입니다. 정리하자면 해당 키 값으로 할당된 적이 없을때만 __newindex의 로직이 실행됩니다. 아래의 예시를 보시죠. isVisible 키에 할당 시 내부 inner의 isVisible에도 함께 할당시키고 싶은 상황입니다. 보기 쉽게 정리하면 아래와 같습니다. 1. 'isVisible 할당'이라고 출력 2. 해당 테이블에 isVisible 할당 3. 해당 테이블 내의 inner 테이블에..
개요 루아에는 상속이라는 개념이 없습니다. 정확하게 말하자면, 언어에서 지원하지 않는다는 의미입니다. 하지만 클래스를 통한 객체 지향 프로그래밍에 익숙하다면 상속 개념을 사용하고 싶은 것도 사실입니다. 이에 대해서는 여러가지 방법이 있겠지만, 여기선 메타테이블을 사용하여 상속 개념을 구현하는 방법을 하나 소개하겠습니다. 주요 루아 함수 상속 개념을 구현하기 위해서 아래의 루아 함수들을 활용합니다. rawget 메타 테이블 콜스택을 거치지 않고 해당 테이블의 값을 직접 가져옵니다. rawset 메타 테이블 콜스택을 거치지 않고 해당 테이블에 키 / 값 페어를 직접 적용합니다. setmetatable(t, mt) mt 테이블을 t 테이블의 메타 테이블로 설정합니다. getmetatable(t) t 테이블의 ..
메타 테이블이란?메타 테이블이 뜻하는 바는 무엇일까요?이름만으로는 그다지 직관적이지 않네요. 뜻을 명확히 해보면 그 용도도 명확해지지 않을까요?간단히 백과사전을 뒤져 보았습니다. 메타 테이블은 소스 코드 또는 메타 데이터 역할을 하는 데이터를 보유하도록 지정된 데이터베이스 또는 기타 데이터 보유 구조의 섹션입니다. 여전히 모호하네요.하나씩 분할 정복해 보겠습니다. '메타 데이터'는 뭘 의미할까요?이번에도 찾아 보았습니다. 데이터에 관한 구조화된 데이터로, 다른 데이터를 설명해주는 데이터 데이터 구조를 정의하는 데이터라고 할 수 있겠네요.설계도라고 비유하면 딱 맞지 않을까요?xml의 스키마 처럼요. 요약해보면,메타 테이블이란데이터 구조를 정의하는 데이터(메타 데이터)들을 포함하는 데이터 테이블을 뜻하는..