형변환
Coddy Lua 여정의 Fundamentals 섹션에 포함된 레슨 — 90개 중 32번째.
입력을 다른 타입으로 변환하려면 캐스팅(cast)을 해야 합니다.
문자열을 숫자로 변환하려면 다음과 같이 작성합니다:
var = io.read()
var = tonumber(var)또는 한 줄로 표현하면,
var = tonumber(io.read())입력이 숫자(예: 5, 4, 54)인 경우 var은 숫자를 보유하게 됩니다. 입력에 유효하지 않은 숫자(5ab, bb, akt 등)가 포함된 경우 tonumber()은 nil을 반환합니다.
다음은 다양한 타입으로 캐스팅하는 방법을 보여주는 표입니다:
| 캐스트 | 설명 |
| tonumber() | 숫자로 변환 |
| tostring() | 문자열로 변환 |
올바른 타입을 사용하는 것은 출력에 영향을 미칠 수 있기 때문에 중요합니다.
두 문자열을 연결한 결과는 다음과 같습니다:
"5" .. "5" = "55"
두 숫자를 더한 결과는 다음과 같습니다:
5 + 5 = 10
챌린지
초급이 챌린지에서는 여러 입력을 다루고 계산을 수행하는 작업을 하게 됩니다.
여러 입력을 받는 방법:
var1 = io.read() -- 첫 번째 입력
var2 = io.read() -- 두 번째 입력수행할 작업:
- 입력에서 첫 번째 숫자를 읽어 변수에 저장합니다.
- 입력에서 두 번째 숫자를 읽어 다른 변수에 저장합니다.
- 두 변수를 모두 number 타입으로 변환합니다 (숫자 계산을 위해).
- 이 두 숫자의 곱을 계산합니다.
- 결과를 출력합니다.
예시:
입력이 2와 4.5인 경우, 프로그램은 9.0을 출력해야 합니다.
주의: 각 테스트 케이스에는 정확히 두 개의 입력이 차례대로 포함되어 있습니다.
치트 시트
Lua에서의 캐스팅(Casting):
-- 문자열을 숫자로 변환
var = tonumber(io.read())
-- 문자열로 변환
var = tostring(io.read())
-- tonumber는 유효하지 않은 입력에 대해 nil을 반환함
var = tonumber("abc") -- var는 nil임중요: 문자열을 연결하면 결합되지만, 숫자를 더하면 산술 연산이 수행됩니다:
"5" .. "5" = "55" -- 문자열 연결
5 + 5 = 10 -- 숫자 덧셈여러 개의 입력:
var1 = io.read()
var2 = io.read()직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.