언어/lua 9

10. 매트릭스

매트릭스 연산이 필요하지만Lua는 내부 Lib에서 제공하지 않는다. http://www.lua.org/pil/11.2.html 에서는 Table을 사용하여 Matrix를 만들 수 있다 써있지만2차원 배열일 뿐 matrix연산은 없다.현재 내가 필요한 연산은 Invert()와 Mul() 연산이므로직접 구현해보겠다. 선형대수 시간에 열심히 공부했다면 이해하는데 문제가 없다 생각한다. Matrix = {row,col,m}Matrix.New = function(row , col , data) local Instance = {} Instance.row = row -- set a row Instance.col = col -- set a col Instance.m = {} -- set a MatrixData for ..

언어/lua 2015.12.01

9. 클래스

Lua언어의 특성상 클래스는 제공되지 않는다.대신, 강력한 Table 변수를 사용하여 기능을 흉내낼수 있다.JavaScript에서 prototype메소드를 사용하여 클래스를 흉내냈듯이 Lua역시 만들어낼 수 있다! Table = { variable , variable } 을 만든다음 function Table . MethodName()Talble.variable = end 또는function Table : MethodName()self.variable = end로 만들 수 있으며. 과 : 의 차이는 호출시 self(객체)를 파라미터에 넣어주냐 아니냐의 차이이다. Table2 = TableTable = nil Table2.MethodName( self, parameter )Table2:MethodName(..

언어/lua 2015.12.01

1. Lua 설치 및 설정

1. 소개루아는 1993년에 브라질의 리우 데자네이로에 있는 교황청 대학교의 컴퓨터 그래픽 기술 그룹 회원인 Luiz Henrique de Figueiredo, 호베르투 이에루잘림스시와 Waldemar Celes가 만들었다. 5.0 버전 이전의 루아는 BSD 라이선스와 비슷한 라이선스에 따라 공개되었고, 5.0부터는 MIT 라이선스에 따라 공개되고 있어서, 누구나 어떤 목적 (상용, 개인용)으로 허락없이 사용하여도 되며 GNU같은 copyleft도 요구되지 않는다. 다만, 사용함에 있어서 제품이나 문서 같은 곳에 감사표시를(루아 마크나 홈페이지로의 링크 등) 남기는 정도를 했으면 한다. 2003년에 5.0, 2006년에 5.1, 2011년에 5.2가 최초로 나왔고, 5.3이 최신 버전이다.루커스아츠의 원..

언어/lua 2015.12.01