Lua - 변수: 초보자 가이드

안녕하세요, 야심 찬 프로그래머 여러분! 오늘 우리는 Lua 변수의 fascineting 세계로 뛰어들어 볼 것입니다. 프로그래밍을 nunca 다 해보지 않았다면 걱정하지 마세요 - 우리는 매우 기본적인 것부터 시작하여 차례대로 진행할 것입니다. 이 튜토리얼의 끝까지 따라오면, Lua 변수의 마스터가 될 것입니다!

Lua - Variables

변수는 무엇인가요?

Lua의 특정 사항에 뛰어들기 전에, 변수가 무엇인지 이해해 보겠습니다. 변수는 정보를 저장하는 컨테이너로 생각해 보세요. 당신이 좋아하는 장난감을 저장할 때 사용하는 상자처럼, 프로그래머들은 데이터를 저장하기 위해 변수를 사용합니다.

Lua에서 변수 정의

Lua에서 변수를 정의하는 것은 이름을 주고 값을 할당하는 것처럼 간단합니다. 다음 예제를 보세요:

name = "Alice"
age = 25
is_student = true

이 코드에서 우리는 세 가지 변수를 생성했습니다:

  1. name은 "Alice" 텍스트를 저장합니다.
  2. age은 숫자 25를 저장합니다.
  3. is_student은 참/거짓 값을 저장합니다 (boolean이라고 부릅니다).

Lua는 당신이 저장하고 있는 데이터 타입을 명시적으로 지정하지 않아도 충분히 지능적으로 알 수 있습니다. 이 기능을 "동적 타입"이라고 부르며, Lua가 초보자에게 친화적인 이유 중 하나입니다!

변수 이름 지정

Lua에서 변수를 이름 지정할 때, 다음 규칙을 기억하세요:

  • 이름은 문자, 숫자, 밑줄을 포함할 수 있습니다.
  • 이름은 숫자로 시작할 수 없습니다.
  • Lua는 대소문자를 구분합니다 (nameName은 다른 변수입니다).

좋은 변수 이름은 좋은 별명과 같아야 합니다 - 설명적이고 기억하기 쉬워야 합니다. 예를 들어:

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