機能 chop() Perl

は、Perlプログラミング言語を搭機能 chop(). この機能が文字列です。 最も簡単なケースでは、機能 chop() を削除し、最終文字の変数 が渡された引数の機能です。

次に例を示します。

▶ Run
#!/usr/bin/perl

my $string = 'ASDF';

chop($string);

print "'$string'";

このプログラムはテキストが表示され 'ASD'.

引数

この機能は chop 与えられない引数の機能が動作 デフォルトの変数 $_:

▶ Run
#!/usr/bin/perl

$_ = 123;

chop();

print "'$_'";

その場合の場合変数 $_undef および使用 use warnings;、警告:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

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

機能 chop() とすることができますscalars、配列ハッシュ. の場合はハッシュ の機能のみに価値のキーのキー自体の変更はありません。

関数の引数に chop() についての変数となります。 の場合 みこの機能は文字列、エラーおよびプログラムの実行 することができなくなります:

▶ 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.

戻り値

機能 chop() は常に文字列を返します. では空 文字列 ''、または文字列で構成されうることができます。

ここでは一例ですの状況が chop() 空の文字列が返されます:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my $var = '';

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

たとえば、より頻繁に状況が chop()の 文字列を返しまのちょうど一 シンボルです。 この機能を返しまれたキャラクターからのカットライン:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my $var = 'asdf';

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

このプログラム表示:

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

こちらは別の例としては、状況が chop() を返す単一の文字。

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my @arr = qw(abc def ghi);

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

の出力はプログラム:

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

機能 chop() カットオフ最後の文字からすべての配列の要素が返される の文字が切断された。

公式文書

ここでは、出力のコマンド 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".

関連する話題

その他の記事