Lua에선 Numberic For문과 Generic For문이 존재한다.
먼저 Numberic을 보자.
아주 간단하게 1부터 100까지 더하기다.
이제 Genueric을 보도록 하자.
사용법은 for 키{,값} in 리스트 do ~ end
여기서 리스트를 그냥 넣으면 안 된다.
pairs()나 ipairs()함수를 사용해야 한다.
둘의 차이점은 ipairs()는 1부터 순차적일 경우에 사용하고
pairs()는 인덱스가 임의일경우 사용한다.
당연히 ipairs()가 빠르다.
자 이제 예제를 보도록 하자.
리스트에 있는 값들을 더하는 예제이다.
다른 팁을 더 써보도록 하겠다.
첫번째!! 값을 치환해보자.
우리가 C에서 두 변수의 값을 치환할때
#define swap(a, b) { a ^ b; b ^ a; a ^ b; }
를 사용한다.
Lua에서는 어떨까?
아주아주 간단하다...간단해도 이렇게 간단할 수 없다.
a, b = b, a
정말 말이 안나올정도로 간단하지 않은가 !!
두번째!! 논리 연산자를 이용한 연산 우선순위
if ( list[x] ~= nil ) then str = "값이 있다" else str = "값이 없다" end
C에서 다르게 표현을 한다면
str = (list[x] ~= nil) ? "값이 있다" : "값이 없다"
이렇게 표현할 수 있다.
그럼 Lua에서는 어떻게 표현할까?
str = (list[x] ~= nil) and "값이 있다" or "값이 없다"
이렇게 표현할 수 있다.
Lua도 사용해보면 엄청 간단하고 쓰기 편하다.
하지만 Ruby가 더 편한거 같다. ㅋㅋ
Ruby만큼 개발자가 편하게 작업할 수 있는게 있을까나...-_ -a
먼저 Numberic을 보자.
아주 간단하게 1부터 100까지 더하기다.
sum = 0
for i = 1, 100, 1 do
sum = sum + i
end
결과는 뭐 여타 다른 언어와는 같다.
for i = 1, 100, 1 do
sum = sum + i
end
결과는 뭐 여타 다른 언어와는 같다.
이제 Genueric을 보도록 하자.
사용법은 for 키{,값} in 리스트 do ~ end
여기서 리스트를 그냥 넣으면 안 된다.
pairs()나 ipairs()함수를 사용해야 한다.
둘의 차이점은 ipairs()는 1부터 순차적일 경우에 사용하고
pairs()는 인덱스가 임의일경우 사용한다.
당연히 ipairs()가 빠르다.
자 이제 예제를 보도록 하자.
리스트에 있는 값들을 더하는 예제이다.
list = { 10, 20, 30, 40 }
tsum, isum = 0, 0
for index, value in ipairs(list) do
tsum = tsum + value
isum = isum + index
end
결과 : tsum에는 list값을 더한 100이 저장된다.
isum에는 index를 더한 값이 저장된다.
tsum, isum = 0, 0
for index, value in ipairs(list) do
tsum = tsum + value
isum = isum + index
end
결과 : tsum에는 list값을 더한 100이 저장된다.
isum에는 index를 더한 값이 저장된다.
다른 팁을 더 써보도록 하겠다.
첫번째!! 값을 치환해보자.
우리가 C에서 두 변수의 값을 치환할때
#define swap(a, b) { a ^ b; b ^ a; a ^ b; }
를 사용한다.
Lua에서는 어떨까?
아주아주 간단하다...간단해도 이렇게 간단할 수 없다.
a, b = b, a
정말 말이 안나올정도로 간단하지 않은가 !!
두번째!! 논리 연산자를 이용한 연산 우선순위
if ( list[x] ~= nil ) then str = "값이 있다" else str = "값이 없다" end
C에서 다르게 표현을 한다면
str = (list[x] ~= nil) ? "값이 있다" : "값이 없다"
이렇게 표현할 수 있다.
그럼 Lua에서는 어떻게 표현할까?
str = (list[x] ~= nil) and "값이 있다" or "값이 없다"
이렇게 표현할 수 있다.
Lua도 사용해보면 엄청 간단하고 쓰기 편하다.
하지만 Ruby가 더 편한거 같다. ㅋㅋ
Ruby만큼 개발자가 편하게 작업할 수 있는게 있을까나...-_ -a
'etc' 카테고리의 다른 글
SVN 설정 완료 (0) | 2007.09.14 |
---|---|
Flash 테두리 없애는 방법... (0) | 2007.08.03 |
Lua에서 For문... (1) | 2007.08.01 |
호문클루스 AI... (0) | 2007.08.01 |
오랜만에 플래시질.... (0) | 2007.07.16 |
교회 복지관 사이트 시안.. (1) | 2007.07.15 |
TAG Lua