학습 결과: .tpz 파일 하나를 만들고, 실행 전에 검사하며, 검사기가 알려 준 소스 위치를 따라 실수 하나를 고칩니다.
선행 학습: 학습 경로에서 시작점을 고르세요. 아래 명령을 그대로 실행하려면 로컬 터미널이 필요합니다.
명령 설치하기
macOS 또는 Linux:
curl -fsSL https://topaz.ooo/install.sh | sh
Windows PowerShell:
irm https://topaz.ooo/install.ps1 | iex
Node가 이미 설치되어 있다면:
npm install -g topaz-lang
설치된 제품을 확인하세요.
topaz version
Topaz 5.11.0첫 프로그램에는 저장소 복제, 패키지 매니페스트, Rust, Python이 필요하지 않습니다.
VS Code나 Open VSX 호환 편집기를 사용한다면
Visual Studio Marketplace
또는 Open VSX Registry에서 공식
토파즈 확장을 설치할 수 있습니다. 이 확장은 .tpz 파일을 인식하고 토파즈 파일
아이콘과 구문 강조를 제공합니다. 진단은 계속 topaz check에서 확인합니다.
가장 작은 학습 계획 작성하기
first-program.tpz 파일을 만들고 아래 내용을 정확히 넣으세요.
let topic = "Topaz basics"
let minutes: int = 25
print("{topic}: {minutes} minutes")먼저 소스를 검사하고, 그다음 실행합니다.
topaz check first-program.tpz
topaz run first-program.tpz
check는 파일을 실행하지 않고 검사한 결과를 보여 줍니다.
first-program.tpz: types-ok (1 module)
first-program.tpz: resolve-ok (1 module)run은 같은 정적 검사를 통과한 뒤 다음 결과를 출력합니다.
Topaz basics: 25 minutes화면에 드러나는 순서대로 코드를 읽어 봅시다. 첫 let은 문자열에 이름을 붙이며, 검사기가 타입을 추론합니다. 두 번째 바인딩은 int를 직접 적었으므로 검사기는 25가 정수인지 확인해야 합니다. print는 {...} 안의 식을 계산해 한 줄로 출력합니다.
진단을 읽고 고치기
별도의 first-program-error.tpz 파일을 만드세요. 아래 소스는 일부러 잘못 작성했으므로 실행 가능한 토파즈 예제가 아닌 일반 텍스트로 표시합니다.
let topic = "Topaz basics"
let minutes: int = "25"
print("{topic}: {minutes} minutes")다음을 실행합니다.
topaz check first-program-error.tpz
검사기는 프로그램을 실행하지 않습니다. 선언된 타입과 실제로 찾은 타입, 그리고 문제가 있는 정확한 소스 위치를 보여 줍니다.
error[TPZ5001]: expected `int`, found `string`
--> first-program-error.tpz:2:20
|
2 | let minutes: int = "25"
| ^^^^
first-program-error.tpz: 1 type diagnostic표시된 "25"를 25로 바꾸세요. 이제 topaz check first-program-error.tpz는 성공하고, topaz run first-program-error.tpz는 앞의 정상 프로그램과 같은 한 줄을 출력합니다.
선택: check인가, run인가?
편집 중에는 프로그램을 시작하지 않고 “이 소스가 올바른가?”를 빠르게 확인하는 topaz check를 사용하세요. topaz run은 같은 정적 검사를 수행한 뒤 실제 동작까지 보여 줍니다. 별도의 check는 run에 없는 검사를 추가하는 명령이 아니라, 실행을 생략한 빠른 확인 단계입니다.
직접 해보기
topic을 "Functions"로, minutes를 30으로 바꾸세요. 어떤 결과가 나올까요?
정답 보기
Functions: 30 minutes가 출력됩니다. 바뀐 값도 각각 추론된 string과 선언된 int 타입을 지키므로, 실행 전 topaz check first-program.tpz도 계속 성공합니다.
다음 단계로 넘어갈 준비
.tpz 파일을 만들고 topaz check와 topaz run을 실행할 수 있으며, expected/found 타입과 표시된 소스 위치를 보고 잘못된 값을 고칠 수 있다면 준비되었습니다.