Lua - 연산자

안녕하세요, 초보 프로그래머 여러분! 오늘 우리는 Lua 연산자의 세계로 흥미로운 여정을 떠납니다. 프로그래밍을 전혀 하지 않았다면 걱정하지 마세요 - 나는 당신의 친절한 안내자가 될 것이며, 이 주제를 단계별로 탐구할 것입니다. 이 수업이 끝나면, 당신은 프로처럼 데이터를 조작할 수 있을 것입니다!

Lua - Operators

산술 연산자

먼저 익숙한 것으로 시작해보겠습니다: 수학! Lua는 수학 수업에서 사용한 것과 같은 산술 연산자를 제공합니다.

기본 산술 연산자

이 표는 Lua의 기본 산술 연산자입니다:

연산자 설명 예제
+ 덧셈 5 + 3 = 8
- 뺄셈 10 - 4 = 6
* 곱셈 3 * 4 = 12
/ 나눗셈 20 / 5 = 4
% 나머지 (나머지) 17 % 5 = 2
^ 지수 2 ^ 3 = 8

이제 이들을 실제로 사용해보겠습니다:

print(5 + 3)  -- 출력: 8
print(10 - 4) -- 출력: 6
print(3 * 4)  -- 출력: 12
print(20 / 5) -- 출력: 4
print(17 % 5) -- 출력: 2
print(2 ^ 3)  -- 출력: 8

각 줄은 다른 산술 연산을 수행하고 결과를 출력합니다. -- 기호는 주석을 나타내며, Lua에 의해 무시되지만 코드를 이해하는 데 도움이 됩니다.

나머지 연산자

나머지 연산자 (%)는 일부분의 여러분에게 새로울 수 있습니다. 이 연산자는 나눗셈 후 남는 나머지를 제공합니다. 이를 "이 두 수를 나눈 후 무엇이 남는가?"라고 생각하면 됩니다. 예를 들어, 17을 5로 나누면 3이 남고 나머지는 2입니다. 따라서 17 % 5은 2입니다.

관계 연산자

이제 관계 연산자로 이동해보겠습니다. 이 연산자는 값을 비교하고 항상 true 또는 false로 결과를 반환합니다.

연산자 설명 예제
== 같다 5 == 5는 참입니다
~= 다르다 5 ~= 4는 참입니다
> 크다 7 > 3는 참입니다
< 작다 2 < 8는 참입니다
>= 크거나 같다 5 >= 5는 참입니다
<= 작거나 같다 4 <= 4는 참입니다

이제 이들을 시도해보겠습니다:

print(5 == 5)  -- 출력: true
print(5 ~= 4)  -- 출력: true
print(7 > 3)   -- 출력: true
print(2 < 8)   -- 출력: true
print(5 >= 5)  -- 출력: true
print(4 <= 4)  -- 출력: true

Lua에서는 ~=를 "다르다"로 사용하며, 다른 프로그래밍 언어에서는 !=를 사용하는 경우가 있습니다.

논리 연산자

논리 연산자는 조건부 문구를 결합하는 데 사용됩니다. 이들은 일상어에서의 "그리고", "또는", "아니"와 같습니다.

연산자 설명
and 두 연산자 모두 참이면 참
or 적어도 하나의 연산자가 참이면 참
not 논리 상태를 반전

이렇게 사용합니다:

print(true and false)  -- 출력: false
print(true or false)   -- 출력: true
print(not true)        -- 출력: false

-- 변수들도 사용할 수 있습니다
local x = 5
local y = 10
print(x < 10 and y > 5)  -- 출력: true
print(x > 10 or y < 5)   -- 출력: false

마지막 예제에서 x < 10 and y > 5은 두 조건 모두 참이므로 결과는 참입니다.

기타 연산자

Lua에는 다른 범주에 속하지 않는 몇 가지 다른 연산자도 있습니다:

연산자 설명 예제
.. 문자열 결합 (문자열을 결합) "Hello " .. "World" = "Hello World"
# 길이 연산자 #"Hello" = 5

이제 이들을 실제로 사용해보겠습니다:

print("Hello " .. "World")  -- 출력: Hello World
print(#"Hello")             -- 출력: 5

문자열 결합 연산자 (..)는 문자열을 결합하는 데 매우 유용합니다. 길이 연산자 (#)는 문자열의 문자 수를 알려줍니다.

Lua에서의 연산자 우선순위

수학과 마찬가지로 Lua에도 연산자의 우선순위가 있습니다. 가장 높은 우선순위에서 가장 낮은 우선순위로는 다음과 같습니다:

  1. ^
  2. not # - (일元)
    • /
  3. ..
  4. < > <= >= ~= ==
  5. and
  6. or

따라서 2 + 3 * 4과 같은 표현식에서 Lua는 먼저 곱셈을 수행한 후 덧셈을 수행합니다.

우선순위를 변경하고 싶다면 괄호를 사용할 수 있습니다. 예를 들어:

print(2 + 3 * 4)     -- 출력: 14
print((2 + 3) * 4)   -- 출력: 20

두 번째 줄에서 괄호는 Lua에게 먼저 덧셈을 수행하도록 지시합니다.

이제 Lua 연산자의 세계로 첫 걸음을 냈습니다. 연습이 완벽을 이루는 것입니다. 이 연산자들을 다양한 방법으로 결합해보고 결과를 확인해보세요. 실수를 두려워하지 마세요 - 그것이 우리가 배우는 방법입니다!

제 경험에 따르면, 가장 훌륭한 프로그래머들은 실험을 두려워하지 않는 사람들입니다. 그러니 이 연산자들을 자유롭게 실험해보고, 무엇을 만들 수 있는지 보세요. 누구라도 다음 대형 Lua 프로그래머가 될 수 있을 것입니다!

Credits: Image by storyset