루아에서 조건문들 상의 논리 관계를 규정할 때 and, or, not 연산자를 사용한다. 예를 들어 변수 x가 -1과 1 사이의 값인지를 검사하려면
if -1 < x and x<1 then … end |
와 같이 -1<x 와 x<1 을 and로 연결하면 된다. and 연산자는 조건식 두 개를 받아서 둘 다 true인 경우에만 true가 된다. or연산자는 둘 다 false 인 경우에만 false 가 된다.
x | y | x and y | x or y |
true | true | true | true |
true | fasle | false | true |
fasle | true | false | true |
fasle | fasle | false | false |
만약 ‘변수 a가 -2보다 작거나 1보다 크다’는 조건을 검사하려면 다음과 같이 하면 될 것이다.
if a<-2 or a>1 then … end |
연산자 not 은 피연산자가 하나인 단항 연산자로서 not x 의 경우 x가 true이면 false가 되고 x가 false이면 true가 된다.
a = nilb = 0c = not ad = not b |
위의 예어서 c에 저장되는 값은 true이다. 왜냐면 nil은 false 로 간주되므로 false의 역은 true이기 때문이다. 루아에서는 오직 nil과 false 만 거짓으로 간주된다는 사실에 유의해야 한다. 숫자 0은 true이므로 d에는 false가 대입된다.
local b = 10if not a then b=b+1 end |
위 예에서 a 는 선언되지 않았으므로 nil이다. 따라서 then~end 블럭이 수행된다. not a 가 true이기 때문이다. 이 프로그램이 수행되면 b에는 11이 저장될 것이다.
c{lua},n{lua009} |
'프로그래밍언어.Lib > 루아(Lua)' 카테고리의 다른 글
루아 동영상강좌 #1 개요/변수/숫자형 (0) | 2021.01.22 |
---|---|
루아(lua)의 중첩된 조건문을 위한 elseif와 else 명령 (0) | 2016.01.27 |
루아(Lua)의 조건분기문 if ~ then ~ end (0) | 2016.01.27 |
루아(Lua)의 nil (0) | 2016.01.26 |
루아(Lua)의 문자열 (0) | 2016.01.26 |