Chức năng join() trong Perl

Perl ngôn ngữ đã được tích hợp trong chức năng join(). Sử dụng năng này, bạn có thể kết hợp nhiều giá trị trong một chuỗi.

Đây là một ví dụ:

▶ Run
#!/usr/bin/perl

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

Chương trình sẽ hiển thị các văn bản a<>b<>c.

Lập luận

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

Tiêu chuẩn bằng cách sử dụng join() là để cho hai cô hay tranh cãi nữa. Giá trị đầu tiên mà là truyền cho các chức năng là các chuỗi để chia. Chức năng join() trả về một chuỗi trong đó giá trị tất cả bắt đầu với một thứ hai kết nối với nhau, và giữa họ là một tách. Ví dụ (chương trình sẽ a:b:c:d):

▶ Run
#!/usr/bin/perl

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

Trong trường hợp đó sau khi các giá trị tách là chỉ có một giá trị rồi kết quả là một chuỗi đó chỉ gồm những thứ giá trị. Ví dụ (chương trình sẽ hiển thị a):

▶ Run
#!/usr/bin/perl

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

Các giá trị chia có thể có một hoặc nhân vật hơn và có thể rỗng dòng ''. Nếu bạn sử dụng một chuỗi rỗng như giá trị đầu tiên, kết quả của những chức năng là việc nối các giá trị. Ví dụ (kết quả của chương trình ABC):

▶ Run
#!/usr/bin/perl

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

Nếu các chức năng join() không vượt qua bất kỳ lập luận, nó sẽ lỗi:

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

Nếu các chức năng chuyển join() duy nhất tranh luận, kết quả sẽ là luôn luôn là một chuỗi rỗng ''. Nếu các anh vượt qua undef là duy nhất tranh luận, sau đó kết quả sẽ là một chuỗi rỗng, nhưng có use warnings, trên đầu lỗi tiêu chuẩn, bạn sẽ nhận được một lời cảnh báo:

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

Trở lại giá trị

Kết quả của những chức năng join() luôn là một chuỗi.

Thậm chí nếu bạn sử dụng join() với số kết quả là vẫn còn một chuỗi, một số không. Nếu bạn viết join(1, 22, 33), kết quả sẽ là một chuỗi '22133', không phải số 22133. Nhưng thật khó để tưởng tượng một tình huống mà bạn đã đến join() trả lại số tiền không phải là một chuỗi. Nhưng trong các trường hợp của Perl nó có thể sử dụng chuỗi trong tất cả các hoạt động toán học. Tìm hiểu thêm về làm thế nào Perl chuyển chuỗi số.

Chủ đề liên quan

Tài liệu chính thức

Đây là kết quả của sự chỉ huy 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".

Các bài viết khác