Chức năng chop() trong Perl

Perl ngôn ngữ đã được tích hợp trong chức năng chop(). Bạn có thể sử dụng năng này khi làm việc với dây. Trong trường hợp đơn giản, các chức năng chop() loại bỏ các tác nhân vật trong một biến đó là một thông qua luận trong những chức năng.

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

▶ Run
#!/usr/bin/perl

my $string = 'ASDF';

chop($string);

print "'$string'";

Này, chương trình hiển thị các văn bản 'ASD'.

Lập luận

Nếu các chức năng chop không được cho không có lý luận, các chức năng làm việc với định biến $_:

▶ Run
#!/usr/bin/perl

$_ = 123;

chop();

print "'$_'";

Trong trường hợp đó, nếu biến $_undef và sử dụng use warnings;, sẽ cảnh báo:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

chop();
Use of uninitialized value $_ in scalar chop at script.pl line 6.

Trong chức năng chop() , bạn có thể vượt qua giả, mảng, băm. Trong trường hợp của băm các năng sẽ chỉ làm việc với giá trị của chìa khóa, chìa khóa mình sẽ không thay đổi.

Lập luận của các chức năng chop() luôn luôn phải biến. Nếu để cố gắng vượt qua chức năng này một chuỗi, nó sẽ lỗi và chương trình thực hiện sẽ được dừng lại:

▶ Run
#!/usr/bin/perl

chop('ASDF'); # Error!
Can't modify constant item in chop at script.pl line 3, near "'ASDF')"
Execution of script.pl aborted due to compilation errors.

Trở lại giá trị

Chức năng chop() luôn luôn trở về một chuỗi. Nó có thể là trống rỗng chuỗi '', hoặc một chuỗi bao gồm chính xác một nhân vật.

Đây là một ví dụ về tình hình khi chop() trở về một chuỗi rỗng:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my $var = '';

warn Dumper chop($var);
warn Dumper $var;

Đây là một ví dụ về một thường xuyên hơn tình huống là khi chop() trở về một chuỗi của chính xác một biểu tượng. Các chức năng trả lại những nhân vật đó đã cắt từ dòng:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my $var = 'asdf';

warn Dumper chop($var);
warn Dumper $var;

Chương trình này sẽ hiển thị:

$VAR1 = 'f';
$VAR1 = 'asd';

Đây là một ví dụ khác của một tình huống khi chop() trở về một nhân vật duy nhất.

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my @arr = qw(abc def ghi);

warn Dumper chop(@arr);
warn Dumper \@arr;

Đầu của chương trình này:

$VAR1 = 'i';
$VAR1 = [
          'ab',
          'de',
          'gh'
        ];

Chức năng chop() cắt đứt các ký tự cuối cùng từ tất cả các yếu tố trong mảng, nhưng trở lại các nhân vật duy nhất là cắt cuối cùng.

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

Đây là kết quả của sự chỉ huy perldoc -f chop:

       chop VARIABLE
       chop( LIST )
       chop    Chops off the last character of a string and returns the
               character chopped.  It is much more efficient than "s/.$//s"
               because it neither scans nor copies the string.  If VARIABLE is
               omitted, chops $_.  If VARIABLE is a hash, it chops the hash's
               values, but not its keys.

               You can actually chop anything that's an lvalue, including an
               assignment.

               If you chop a list, each element is chopped.  Only the value of
               the last "chop" is returned.

               Note that "chop" returns the last character.  To return all but
               the last character, use "substr($string, 0, -1)".

               See also "chomp".

Chủ đề liên quan

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