Lua - 문자열
안녕하세요, 열정적인 프로그래머 되고자 하는 여러분! 오늘 우리는 Lua의 문자열 세계로 빠져들어 보겠습니다. 여러분의 친절한 이웃 컴퓨터 교사로서, 저는 이 여정을 안내해 드리는 것을 기대하고 있습니다. 문자열을 프로그래밍의 말과 문장으로 상상해 보세요 - 우리의 코드에서 텍스트를 다루는 방법입니다. 그러니 배우기 위해 캡을 쓰고, 시작해 보세요!
문자열 조작
Lua에서 문자열은 다양한 방법으로 조작할 수 있는 마법의 문자序列입니다. 기본적인 것으로 시작해 보겠습니다.
문자열 생성
local greeting = "Hello, World!"
local name = 'Alice'
local multiline = [[
This is a
multiline string
]]
이 예제에서 우리는 세 가지 문자열을 생성했습니다:
-
greeting
은 두 개의 따옴표를 사용합니다 -
name
은 단일 따옴표를 사용합니다 -
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