[첫화면으로]Perl/RangeOperator

마지막으로 [b]

4 번째 수정본

# 좌변은 n이 3일때, 8일때 참
sub left {
    my $n = shift;
    print " (left) ";
    return ( $n == 3 || $n == 8 );
}

# 우변은 n이 5일때, 9일때 참
sub right {
    my $n = shift;
    print " (right) ";
    return ( $n == 5 || $n == 9 );
}

# 1부터 10까지 .. 를 사용해서 검사
print "use ..\n";
foreach my $n ( 1 .. 10 ) {
    print "$n : ";
    my $r = ( left($n) .. right($n) );
    print "[$r]\n";
}

# ...를 사용해서 검사
print "use ...\n";
foreach my $n ( 1 .. 10 ) {
    print "$n : ";
    my $r = ( left($n) ... right($n) );
    print "[$r]\n";
}

위 코드의 실행 결과:
use ..
1 :  (left) []
2 :  (left) []
3 :  (left)  (right) [1]   <-- 참이 된 직후에 우변 역시 검사
4 :  (right) [2]
5 :  (right) [3E0]
6 :  (left) []
7 :  (left) []
8 :  (left)  (right) [1]   <-- 참이 된 직후에 우변 역시 검사
9 :  (right) [2E0]
10 :  (left) []
use ...
1 :  (left) []
2 :  (left) []
3 :  (left) [1]   <-- 참이 된 직후에는 우변은 검사하지 않음
4 :  (right) [2]
5 :  (right) [3E0]
6 :  (left) []
7 :  (left) []
8 :  (left) [1]   <-- 참이 된 직후에는 우변은 검사하지 않음
9 :  (right) [2E0]
10 :  (left) []

이름:  
Homepage:
내용:
 

<trackbackreceived>

컴퓨터분류 Perl

이 수정본 편집일: 2010-11-29 3:16 pm (변경사항 [d])
1130 hits | Permalink | 변경내역 보기 [h] | 현재 수정본 보기 | 4 번째 수정본 소스 보기