콘솔 출력
Write / WriteLn
Pascal에서 문자열을 출력하려면 내장 프로시저인 Write 또는 WriteLn을 사용합니다. WriteLn은 문자열 끝에 자동으로 줄 바꿈 문자를 추가합니다.
이것은 Pascal에서 매우 유연한 내장 프로시저입니다. 매개변수를 개수나 데이터 타입 제한 없이 전달할 수 있으며 출력 시 자동으로 문자열로 변환됩니다. 숫자 자리 너비 지정, 부동 소수점 소수점 정밀도 제어용 특수 서식 문법도 지원합니다.
WriteLn('Hello world!');
// 정수 표현식 출력
WriteLn('You can output an integer: ', 3 * 4);
// 정수 오른쪽 정렬, 전체 너비 10자리
WriteLn('You can pad an integer: ', 666:10);
// 부동 소수점 서식: 전체 너비 1, 소수점 4자리 유지
WriteLn('You can output a float: ', Pi:1:4);Code language: JavaScript (javascript)
수동 줄 바꿈
LineEnding 상수
단일 문자열 안에 직접 줄 바꿈을 삽입해야 할 경우 Free Pascal 표준 라이브러리에서 제공하는 LineEnding 상수를 사용하세요. Castle Game Engine에는 더 짧은 NL 상수도 별도로 제공됩니다.
Pascal 문자열은역슬래시 이스케이프 문자를 해석하지 않습니다(\n 무효). 아래 예시는 잘못된 작성법입니다:
// 잘못됨: \n은 줄 바꿈으로 인식되지 않음
WriteLn('One line.\nSecond line.');Code language: JavaScript (javascript)
올바른 작성법은 두 가지입니다:
// 줄 바꿈 상수 연결
WriteLn('One line.' + LineEnding + 'Second line.');
// WriteLn을 두 번 분리해서 사용 (간결하고 권장)
WriteLn('One line.');
WriteLn('Second line.');Code language: JavaScript (javascript)
주의사항
WriteLn은 콘솔 프로그램에서만 사용 가능
Write/WriteLn은 콘솔 애플리케이션에서만 작동합니다. 메인 소스 파일 맨 위에 컴파일 지시문을 선언해야 합니다:
{$apptype CONSOLE}Code language: PHP (php)
GUI 모드로 설정하면 안 됩니다:
{$apptype GUI} // GUI 프로그램에서 WriteLn 직접 호출 시 오류 발생Code language: PHP (php)
- Unix/Linux/macOS: 일부 환경에서 GUI 프로그램 출력 시 오류가 발생하지 않지만 출력 내용은 무의미합니다;
- Windows: GUI 그래픽 프로그램에서 WriteLn 실행 시 런타임 오류가 트리거됩니다.
Castle Game Engine 로그 규칙
Castle Game Engine으로 개발할 때 디버그 정보를 WriteLn으로 직접 출력해서는 안 됩니다. 전용 로그 인터페이스를 사용하세요:
WriteLnLog:일반 디버그 로그WriteLnWarning:경고 로그
엔진은 로그를 자동으로 해당 출력 대상에 분배합니다:
- Unix 시스템:표준 콘솔 출력 stdout;
- Windows GUI 게임 프로그램:로컬 로그 파일에 기록;
- Android 플랫폼:안드로이드 시스템 로그와 연동,
adb logcat으로 확인 가능.
용어 대조표
| 영어 원문 | Pascal 용어 설명 |
|---|---|
| Write / WriteLn | 줄바꿈 없음 출력 / 줄바꿈 포함 출력 |
| LineEnding | 시스템 줄바꿈 상수 (크로스플랫폼 호환) |
| NL | Castle 약식 줄바꿈 상수 |
| padding | 숫자 자리 채움, 정렬 너비 |
| precision | 부동소수점 소수 정밀도 |
| {$apptype CONSOLE} | 콘솔 앱 컴파일 지시문 |
| {$apptype GUI} | GUI 앱 컴파일 지시문 |
| adb logcat | 안드로이드 로그 조회 도구 |
| standard output | 표준 출력 스트림(stdout) |
본 장 예제 코드
{$ifdef FPC} {$mode objfpc}{$H+}{$J-} {$endif}
{$ifdef MSWINDOWS} {$apptype CONSOLE} {$endif}
{$R+}
begin
WriteLn('Hello world!');
// 정수 표현식 출력
WriteLn('You can output an integer: ', 3 * 4);
// 정수 오른쪽 정렬, 전체 너비 10자리
WriteLn('You can pad an integer: ', 666:10);
// 부동 소수점 서식: 전체 너비 1, 소수점 4자리 유지
WriteLn('You can output a float: ', Pi:1:4);
// 잘못됨: \n은 줄 바꿈으로 인식되지 않음
// WriteLn('One line.\nSecond line.');
// 줄 바꿈 상수 연결
WriteLn('One line.' + LineEnding + 'Second line.');
// WriteLn을 두 번 분리해서 사용 (간결하고 권장)
WriteLn('One line.');
WriteLn('Second line.');
end.Code language: PHP (php)


위 컴파일 지시문을 반드시 추가해야 정상 작동합니다
Previous: 반복문
Next: 숫자를 문자열로 변환