루아 p.04 - 변수

C언어의 변수는 int, float, chat와 같은 형(type)이 있지만, 루아에서는 기본적으로 이러한 형이 없습니다. 처음 루아를 접하는 사람들이 난감해 하는 부분이기도 하지만, 중요한 것은 루아의 변수는 사용하는 경우에 따라서 자동으로 형이 변환됩니다. 예를 들면,

num= "12" + 5;

위 경우 C언어라면 반드시 오류가 발생할 상황이지만, 루아에서는 num이란 변수에 17이란 값이 저장됩니다. 좀 혼란스러운 분들도 계시겠지만, 정상적인 상황에선 굳이 이런 헷갈리기 쉽게 작성하는 경우는 거의 없으니 걱정하실 필요는 없습니다.

변수는 기본적으로 전역으로 생성되나, 다음과 같이 변수 앞에 local이란 지시어를 사용하면 선언된 단락 내에서만 사용하고 삭제되는 지역 변수로 지정할 수 있습니다.

local num= 17;


  • nil

    nil은 부동소수나 문자열에 속하지 않는 독립된 형태의 값으로써, 모든 변수는 선언과 동시에 nil이라는 값을 갖게 됩니다. C언어의 NULL과 혼용되기 쉬우나 C언어의 NULL은 정수값 0으로 처리되는 반면, 루아에서는 그 자체가 하나의 값으로 처리된다는 점을 주의하시기 바랍니다. 특정 변수나 테이블에 nil을 설정하면 해당 변수는 삭제되는 특성이 있습니다.

  • 수치값

    루아에서는 정수 형식이 없으며, 모두 부동소수로 처리됩니다. 다음은 수치값의 표현 방식입니다.

    local num = 17;
    local num = 17.265;
    local num = 1.72e10;

  • 문자열

    루아의 문자열 처리는 매우 강력한 기능과 함수를 제공하는데, 자세한 내용은 다음으로 미루겠습니다. 문자열은 C의 그것과 마찬가지로 큰 따옴표로 둘러쌓인 영역 전체를 인식하며, 문자열에 다른 문자열을 덧붙일 경우엔 ..를 사용합니다.

    local str = "Hello world!";
    local str = "Hello " .. "world!";
    local str = "Now is " .. 34 .. "seconds";

댓글 없음: