LUA(2)
-
[lua] 루아의 독특한 문법 몇가지 #2
#1 Something{ "data1", "data2", "data3", "data4" } Something( { "data1", "data2", "data3", "data4" } ) 두 표현은 동일하다. - Something 이라는 함수에 테이블을 인자로 넘기고 있다. #2 setmetatable( t1, mt ) t1의 메타 테이블로 mt을 설정한다.당연히 t1 과 mt는 테이블 구조여야함 #3 메타테이블의 __add, __mul, __sub, __div, __unm, __mod, __pow, __concat, __eq, __lt, __le 등을 가지고연산자 재정의를 할 수 있다. +, *, -, /, ~, %, ^, ==, = 위 항목에 각 연산을 수행할 함수를 정의하여 할당하면 된다. #4 Som..
2013.11.14 -
[lua] 루아의 독특한 문법 몇가지
#1 a = { }x = "y"a[x] = 10 print( a[x] ) ---> 10print( a.x ) ---> nulprint( a.y ) ---> 10 a.x 와 a["x"]가 동일하고 a[x]는 다는 표현이다. #2 x = x or v 은 if not x then x = v end 와 같다 #3 for i, v in pairs( a ) do print( v ) end ===> i에는 색인(키), v에는 값을 넣는다. ipairs() 와 pairs() 차이첨이 뭔지 궁금... #4 함수(callee)에서 여러개의 값을 리턴 할 수 있고..받아주는 쪽(caller)에서는 받아주는 변수가 존재하는 만큼 받아준다변수가 더 존재할 경우 그 변수의 값은 nil로 채워지고 부족한 경우 리턴된 값은 버려진다..
2013.11.10