Saturday, February 10, 2007
Perl/펄] 상수 정의 방법; Use Constant Pragma
변수와 달리 상수(Constant)는 값을 변경할 수 없기에, 변경되면 안되는 값을 상수로 정의해 놓으면 안전하게 사용할 수 있습니다. 또한 기억하기 힘든 값을, 간단하고 분명한 이름으로 정의해 놓고 사용하는 용도도 있습니다.
펄은 간단한 스크립트 언어이기에, 상수가 그리 절실히 필요하지 않습니다. 그래서 기본적으로는 상수를 지원하지 않고, use constant 라는 프라그마(pragma)를 사용하여 상수를 구현합니다.
파일명: example.pl
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
만약 이미 만들어진 상수에 값을 대입하여 변경하려면 Can't modify constant item in scalar assignment 이런 에러가 납니다.
또한, 같은 이름의 상수를, 다른 값으로 다시 정의하면
Constant subroutine main::PI redefined at D:/Perl/lib/constant.pm 이런 에러가 납니다.
▶▶ Perl/펄] 원주율 상수 선언; 파이 값 Constant 정의; PI, M_PI
펄은 간단한 스크립트 언어이기에, 상수가 그리 절실히 필요하지 않습니다. 그래서 기본적으로는 상수를 지원하지 않고, use constant 라는 프라그마(pragma)를 사용하여 상수를 구현합니다.
상수 선언, Constant 만들기 예제
파일명: example.pl
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
#!/usr/bin/perl
use strict; use warnings;
# 상수 하나씩 정의
use constant PI => 3.14159265358979323846;
use constant SIZE => 255;
use constant NAME => "똠방각하";
# 여러 개의 상수를 한꺼번에 정의하기
# (다음은 localtime 함수의 반환값 요소들의 번호임)
use constant {
SEC => 0,
MIN => 1,
HOUR => 2,
MDAY => 3,
MON => 4,
YEAR => 5,
WDAY => 6,
YDAY => 7,
ISDST => 8,
};
# 상수의 값이 리스트인 경우
use constant WEEKDAYS => qw(
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
);
print PI, "\n";
# 출력 결과: 3.14159265358979
print SIZE, "\n";
# 출력 결과: 255
print NAME, "\n";
# 출력 결과: 똠방각하
print YEAR, "\n";
# 출력 결과: 5
print WEEKDAYS, "\n";
# 출력 결과: SundayMondayTuesdayWednesdayThursdayFridaySaturday
use strict; use warnings;
# 상수 하나씩 정의
use constant PI => 3.14159265358979323846;
use constant SIZE => 255;
use constant NAME => "똠방각하";
# 여러 개의 상수를 한꺼번에 정의하기
# (다음은 localtime 함수의 반환값 요소들의 번호임)
use constant {
SEC => 0,
MIN => 1,
HOUR => 2,
MDAY => 3,
MON => 4,
YEAR => 5,
WDAY => 6,
YDAY => 7,
ISDST => 8,
};
# 상수의 값이 리스트인 경우
use constant WEEKDAYS => qw(
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
);
print PI, "\n";
# 출력 결과: 3.14159265358979
print SIZE, "\n";
# 출력 결과: 255
print NAME, "\n";
# 출력 결과: 똠방각하
print YEAR, "\n";
# 출력 결과: 5
print WEEKDAYS, "\n";
# 출력 결과: SundayMondayTuesdayWednesdayThursdayFridaySaturday
만약 이미 만들어진 상수에 값을 대입하여 변경하려면 Can't modify constant item in scalar assignment 이런 에러가 납니다.
또한, 같은 이름의 상수를, 다른 값으로 다시 정의하면
Constant subroutine main::PI redefined at D:/Perl/lib/constant.pm 이런 에러가 납니다.
▶▶ Perl/펄] 원주율 상수 선언; 파이 값 Constant 정의; PI, M_PI
tag: perl
Perl | 펄
<< Home