[첫화면으로]Perl/RangeOperator

마지막으로 [b]

# 좌변은 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:
내용:
 


컴퓨터분류 Perl
각주:
1. /RespectTheGlobalStateOfTheFlipFlopOperator 참고
2. [Make exclusive flip-flop operators | The Effective Perler] 참고

마지막 편집일: 2012-2-11 12:25 am (변경사항 [d])
1049 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기