Lua - 문자열

안녕하세요, 열정적인 프로그래머 되고자 하는 여러분! 오늘 우리는 Lua의 문자열 세계로 빠져들어 보겠습니다. 여러분의 친절한 이웃 컴퓨터 교사로서, 저는 이 여정을 안내해 드리는 것을 기대하고 있습니다. 문자열을 프로그래밍의 말과 문장으로 상상해 보세요 - 우리의 코드에서 텍스트를 다루는 방법입니다. 그러니 배우기 위해 캡을 쓰고, 시작해 보세요!

Lua - Strings

문자열 조작

Lua에서 문자열은 다양한 방법으로 조작할 수 있는 마법의 문자序列입니다. 기본적인 것으로 시작해 보겠습니다.

문자열 생성

local greeting = "Hello, World!"
local name = 'Alice'
local multiline = [[
This is a
multiline string
]]

이 예제에서 우리는 세 가지 문자열을 생성했습니다:

  1. greeting은 두 개의 따옴표를 사용합니다
  2. name은 단일 따옴표를 사용합니다
  3. multiline은 여러 줄을 포함하기 위해 두 개의 중괄호를 사용합니다

단일 따옴표와 이중 따옴표는 동일한 방식으로 작동하지만, 중괄호를 사용하면 줄 바뀐 것을 포함할 수 있습니다.

결합

결합은 문자열을 함께 이어붙이는 복잡한 단어입니다. Lua에서는 .. 연산자를 사용합니다:

local first_name = "John"
local last_name = "Doe"
local full_name = first_name .. " " .. last_name
print(full_name)  -- 출력: John Doe

여기서 우리는 first_name, 공백, 그리고 last_name을 결합하여 full_name을 생성했습니다.

대소문자 변환

occasionally we need to shout (uppercase) or whisper (lowercase) our strings:

local text = "Hello, Lua Learners!"
print(string.upper(text))  -- Output: HELLO, LUA LEARNERS!
print(string.lower(text))  -- Output: hello, lua learners!

string.upper()string.lower() 함수는 당신이 기대할 수 있는 바와 같이 작동합니다 - 우리의 텍스트를 모두 대문자로 만들거나 모두 소문자로 만듭니다.

부분 문자열 변경

문자열의 일부를 찾아 변경하고 싶다면, Lua는 당신을 도와줍니다:

local sentence = "I love apples, apples are my favorite fruit."
local new_sentence = string.gsub(sentence, "apples", "oranges")
print(new_sentence)  -- Output: I love oranges, oranges are my favorite fruit.

여기서 string.gsub()은 "apples"의 모든 발생을 "oranges"로 변경합니다. 워드 프로세서의 찾아 바꾸기 기능과 같습니다!

찾기와 뒤집기

부분 문자열 찾기

문자열 내에서 부분 문자열을 찾기 위해 string.find()를 사용합니다:

local text = "Lua is fun and powerful!"
local start, finish = string.find(text, "fun")
print("'fun' starts at position " .. start .. " and ends at " .. finish)
-- Output: 'fun' starts at position 8 and ends at 10

이 함수는 부분 문자열의 시작과 종료 위치를 반환합니다.

문자열 뒤집기

문자열을 뒤집고 싶다면 string.reverse()를 사용하세요:

local forward = "Lua is awesome"
local backward = string.reverse(forward)
print(backward)  -- Output: emosewa si auL

이 것은 마법처럼 - 텍스트가 순식간에 뒤집힙니다!

문자열 포맷ting

동적 텍스트를 만들고 싶을 때 문자열 포맷ting은 매우 중요합니다. Lua는 강력한 방법을 제공합니다:

local name = "Alice"
local age = 30
local formatted = string.format("My name is %s and I am %d years old.", name, age)
print(formatted)
-- Output: My name is Alice and I am 30 years old.

이 예제에서 %s는 문자열 name으로 대체되고, %d는 숫자 age로 대체됩니다. 블랭크를 채우는 문장과 같습니다!

문자와 바이트 표현

Lua는 문자열의 개별 문자를 다루게 해줍니다:

local str = "Lua"
print(string.byte(str, 1))  -- Output: 76 (ASCII 코드 'L')
print(string.char(76))      -- Output: L

string.byte()는 문자의 ASCII 코드를 제공하며, string.char()는 반대입니다.

다른 일반 함수

몇 가지 더 유용한 문자열 함수를 살펴보겠습니다:

함수 설명 예제
string.len() 문자열의 길이를 반환합니다 print(string.len("Lua")) -- Output: 3
string.rep() 문자열을 반복합니다 print(string.rep("Ha", 3)) -- Output: HaHaHa
string.sub() 문자열의 부분을 추출합니다 print(string.sub("Lua is fun", 1, 3)) -- Output: Lua

이 함수들은 문자열 조작의 스위스 아르미Knife와 같습니다 - 매우 다재다능하고 유용합니다!

결론적으로, Lua의 문자열은 텍스트를 다양한 창의적인 방법으로 다루는 강력한 도구입니다. 연습이 완벽을 만든다는 것을 기억하세요, 그러니 이 함수들을 실험해 보지 마세요. 얼마 지나지 않아 복잡한 프로그램을 쉽게 이어붙이게 될 것입니다!

미래의 프로그래머 여러분, 행복하게 코딩하세요! 그리고 기억하세요, 프로그래밍의 세계에서는 각 문자가 중요합니다 - 정말로 그렇습니다!

Credits: Image by storyset