Perl에서 배열에서 값을 삭제하는 방법은 무엇입니까?

나는 undef가 수조에서 값을 제거하는 것과 확실한 관계가 있는지 확실하지 않다. 만약 우리가 undef를'공'으로 간주한다면 약간의 관계가 있을 것이라고 추측해 보자.그러나 통상적으로 어떤 것을undef로 지정하는 것과 삭제하는 것은 다르다.
먼저 수조의 원소를 undef로 지정하는 방법을 본 다음에 수조에서 원소를 삭제하는 방법을 이해합니다.
다음 코드부터 시작합니다.

use Data::Dumper qw(Dumper);
my @dwarfs = qw(Doc Grumpy Happy Sleepy Sneezy Dopey Bashful);
print Dumper \@dwarfs;
Data::Dumper를 사용하여 인쇄할 때 다음과 같은 출력을 얻을 수 있습니다.

$VAR1 = [
          'Doc',
          'Grumpy',
          'Happy',
          'Sleepy',
          'Sneezy',
          'Dopey',
          'Bashful'
        ];
원소를 undef로 지정하기
undef () 함수의 반환 값을 사용합니다.

use Data::Dumper qw(Dumper);
my @dwarfs = qw(Doc Grumpy Happy Sleepy Sneezy Dopey Bashful);
 
$dwarfs[3] = undef;
 
print Dumper \@dwarfs;
이 코드들은 3번 요소 (수조의 네 번째 요소) 를 undef로 지정하지만, 수조의 크기는 바꾸지 않습니다.

$VAR1 = [
          'Doc',
          'Grumpy',
          'Happy',
          undef,
          'Sneezy',
          'Dopey',
          'Bashful'
        ];
그룹의 어떤 요소에 undef () 함수를 직접 사용해도 같은 결과를 얻을 수 있습니다.

use Data::Dumper qw(Dumper);
my @dwarfs = qw(Doc Grumpy Happy Sleepy Sneezy Dopey Bashful);
 
undef $dwarfs[3];
 
print Dumper \@dwarfs;
그래서 $dwarfs[3]=undef;undef $dwarfs[3];그것들은 모두 값을 undef로 부여할 수 있다.
splice를 사용하여 배열에서 요소 제거
splice 함수는 배열에서 요소를 완전히 제거합니다.

use Data::Dumper qw(Dumper);
my @dwarfs = qw(Doc Grumpy Happy Sleepy Sneezy Dopey Bashful);
 
splice @dwarfs, 3, 1;
 
print Dumper \@dwarfs;
$VAR1 = [
          'Doc',
          'Grumpy',
          'Happy',
          'Sneezy',
          'Dopey',
          'Bashful'
        ];
이 예에서 볼 수 있듯이 수조는 우리가 수조 중간에서 하나의 원소를 제거했기 때문에 하나의 단위를 단축시켰다.
이것이 바로 어떻게 수조에서 원소를 삭제하는가이다.

좋은 웹페이지 즐겨찾기