기능 join() 에서는 Perl

에서는 Perl 프로그래밍 언어가 내장된 기능 join(). 이 기능을 사용하여 결합할 수 있습니다 여러 개 값을 문자열입니다.

예를 들어 다음과 같습니다.

▶ Run
#!/usr/bin/perl

my $str = join('<>', 'a', 'b', 'c');
print $str;

프로그램에 텍스트가 표시됩니다 a<>b<>c.

인수

my $str1 = join($separator, $value1, $value2);
my $str2 = join($separator, @arr);
my $str3 = join($separator, @arr1, @arr2);

표준을 사용하여 join() 은 그녀의 두 개 이상 인수입니다. 첫 번째는 값을 전달하는 기능이 문자열을 분할됩니다. 기능 join() 문자열을 반환하는 모든 값으로 시작 두 번째 연결되어 함께,그리고 그들 사이 구분 기호입니다. 를 들어(프로그램 이 a:b:c:d):

▶ Run
#!/usr/bin/perl

print join(':', 'a', 'b', 'c', 'd');

이벤트 후 그 값을 분리기는 단 하나의 값이 다음 결과 문자열로 구성되어있는 유일의 두 번째는 값입니다. 를 들어(프로그램이 표시됩니다 a):

▶ Run
#!/usr/bin/perl

print join(':', 'a');

값을 분할될 수 있는 하나 이상의 문자와이 비어 있을 수 있습니다 선 ''. 를 사용하면 빈 문자열 처음으로 가치, 결과의 기능을 연결한 값입니다. 예(의 결과이 프로그램 ABC):

▶ Run
#!/usr/bin/perl

print join('', 'A', 'B', 'C');

는 경우 기능 join() 전달하지 않습니다 모든 인수를,그것은 오류가:

Not enough arguments for join or string at script.pl line 3, near "join()"
Execution of script.pl aborted due to compilation errors.

는 경우 전송 기능 join() 단일수,결과 항상 빈 문자열 ''. 전달하는 경우 undef 으로만 인수,다음 결과가 될 것입니다면 빈 문자열이 포함되어 있지만 use warnings, on STDERR 경고 메시지가 나타납니다:

Use of uninitialized value in join or string at script.pl line 5.

반환 값

함수의 결과 join() 항상에는 문자열을 사용합니다.

당신이 사용하는 경우에도 join() 숫자로,이 결과는 여전히,문자열 숫자가 아닙니다. 당신이 쓰는 경우에 join(1, 22, 33),결과 문자열 '22133',지 않을 수 22133. 하지만 상상하기 어려운 상황에서는 당신을 join() 반환하량 문자열이 아닙니다. 그러나의 경우에는 펄서 사용 가능한 문자열에서 모든 수학 작업입니다. 에 대한 자세한 방법 Perl 문자열로 변환하여 숫자.

관련 주제

공식적인 문서

여기에 출력하는 명령의 perldoc -f join:

       join EXPR,LIST
               Joins the separate strings of LIST into a single string with
               fields separated by the value of EXPR, and returns that new
               string.  Example:

                   $rec = join(':', $login,$passwd,$uid,$gid,$gcos,$home,$shell);

               Beware that unlike "split", "join" doesn't take a pattern as
               its first argument.  Compare "split".

다른 기사