Lua - 변수: 초보자 가이드
안녕하세요, 야심 찬 프로그래머 여러분! 오늘 우리는 Lua 변수의 fascineting 세계로 뛰어들어 볼 것입니다. 프로그래밍을 nunca 다 해보지 않았다면 걱정하지 마세요 - 우리는 매우 기본적인 것부터 시작하여 차례대로 진행할 것입니다. 이 튜토리얼의 끝까지 따라오면, Lua 변수의 마스터가 될 것입니다!
변수는 무엇인가요?
Lua의 특정 사항에 뛰어들기 전에, 변수가 무엇인지 이해해 보겠습니다. 변수는 정보를 저장하는 컨테이너로 생각해 보세요. 당신이 좋아하는 장난감을 저장할 때 사용하는 상자처럼, 프로그래머들은 데이터를 저장하기 위해 변수를 사용합니다.
Lua에서 변수 정의
Lua에서 변수를 정의하는 것은 이름을 주고 값을 할당하는 것처럼 간단합니다. 다음 예제를 보세요:
name = "Alice"
age = 25
is_student = true
이 코드에서 우리는 세 가지 변수를 생성했습니다:
-
name
은 "Alice" 텍스트를 저장합니다. -
age
은 숫자 25를 저장합니다. -
is_student
은 참/거짓 값을 저장합니다 (boolean이라고 부릅니다).
Lua는 당신이 저장하고 있는 데이터 타입을 명시적으로 지정하지 않아도 충분히 지능적으로 알 수 있습니다. 이 기능을 "동적 타입"이라고 부르며, Lua가 초보자에게 친화적인 이유 중 하나입니다!
변수 이름 지정
Lua에서 변수를 이름 지정할 때, 다음 규칙을 기억하세요:
- 이름은 문자, 숫자, 밑줄을 포함할 수 있습니다.
- 이름은 숫자로 시작할 수 없습니다.
- Lua는 대소문자를 구분합니다 (
name
과Name
은 다른 변수입니다).
좋은 변수 이름은 좋은 별명과 같아야 합니다 - 설명적이고 기억하기 쉬워야 합니다. 예를 들어:
favorite_color = "blue"
total_score = 95
is_game_over = false
Lua에서 변수 선언
다른 프로그래밍 언어와 달리, Lua는 변수를 사용하기 전에 선언할 필요가 없습니다. 변수에 값을 할당하여 사용할 수 있습니다.
-- Lua에서 이는 완벽하게 유효합니다
x = 10
print(x) -- 이는 출력: 10
그러나 코드의 가독성을 높이고 오류를 방지하는 데 도움이 되므로, 스크립트나 함수의 시작 부분에서 변수를 선언하는 것이 일반적으로 좋은 관행입니다.
지역 변수
Lua에서는 local
키워드를 사용하여 지역 변수를 생성할 수 있습니다:
local secret_number = 42
지역 변수는 선언된 코드 블록 내에서만 접근할 수 있습니다. 그들은 당신의 비밀 보관함처럼 - 오직 당신(또는 이 경우 특정 코드 부분)만 접근할 수 있습니다.
전역 변수
local
키워드를 사용하지 않으면 전역 변수를 생성합니다:
global_message = "Hello, World!"
전역 변수는 프로그램의 어디서나 접근할 수 있습니다. 그들은 큰 스피커를 통해 발표되는 알림처럼 - 모두가 들을 수 있습니다.
Lua에서 Lvalues와 Rvalues
이제 lvalues과 rvalues에 대해 이야기해 보겠습니다. 이 용어들이 두려워하지 마세요 - 그들은 보다 간단합니다!
Lvalues
lvalue(왼쪽 값)은 할당의 왼쪽에 나타날 수 있는 것입니다. Lua에서 변수는 lvalues입니다:
x = 5 -- 'x'은 lvalue입니다
Rvalues
rvalue(오른쪽 값)은 할당의 오른쪽에 나타날 수 있는 것입니다. 이는 리터럴 값, 변수 또는 표현식일 수 있습니다:
y = 10 -- '10'은 rvalue입니다
z = y -- 'y'는 여기서 rvalue입니다
w = y + 5 -- 'y + 5'은 rvalue 표현식입니다
lvalues와 rvalues를 이해하면 Lua에서 할당이 어떻게 작동하는지 이해하는 데 도움이 됩니다.
Lua 변수 메서드
Lua는 변수를 다루기 위한 여러 가지 내장 함수를 제공합니다. 다음은 일반적으로 사용되는 몇 가지입니다:
메서드 | 설명 | 예제 |
---|---|---|
type() |
변수의 타입을 반환합니다 | print(type(x)) |
tostring() |
값을 문자열로 변환합니다 | str = tostring(42) |
tonumber() |
값을 숫자로 변환합니다 | num = tonumber("42") |
pairs() |
테이블을 반복합니다 | for k,v in pairs(t) do ... end |
ipairs() |
테이블의 배열 부분을 반복합니다 | for i,v in ipairs(t) do ... end |
모든 것을 통합해 보자
마지막으로, 우리가 배운 것을 활용한 재미있는 예제를 보겠습니다:
-- 몇 가지 지역 변수 선언
local name = "Luna"
local age = 8
local favorite_toy = "Magic Wand"
-- 전역 변수 생성
wizard_power = 9000
-- 우리 마법사의 통계를 출력
print("Meet " .. name .. ", the " .. age .. "-year-old wizard!")
print(name .. "'s favorite toy is a " .. favorite_toy .. ".")
print("Wizard power level: " .. wizard_power)
-- 우리 변수의 타입을 확인
print("The variable 'name' is a " .. type(name))
print("The variable 'age' is a " .. type(age))
print("The variable 'wizard_power' is a " .. type(wizard_power))
-- 선언되지 않은 변수를 사용 시도
print(favorite_spell) -- 이는 'nil'을 출력합니다
이 코드를 실행하면 Luna의 마법사 통계, 우리 변수의 타입, 그리고 선언되지 않은 변수에 대한 nil
값을 볼 수 있습니다.
기억해 두세요, Lua에서 선언되지 않은 변수를 사용하면 오류가 발생하지 않고 nil
을 반환합니다. 이는 축복이자 저주일 수 있으므로, 항상 변수 이름에 주의하세요!
그리고 여기서 우리는 Lua 변수에 대한 첫 번째 수업을 마친 것입니다! 연습이 완벽을 이루는 열쇠입니다. 자신의 변수를 만들어 보세요, 다양한 타입을 혼합해 보세요, 그리고 어떤 일이 일어나는지 확인해 보세요. 행복하게 코딩하세요, 미래의 Lua 마법사 여러분!
Credits: Image by storyset