나는 거기에 '빈 슬롯'배열을 만들 수 있습니다'빈 슬롯'을 사용하여 익명 배열 ([])을 만드는 방법은 무엇입니까?
$ perl -wde 1
...
DB<1> $x[2] = 0
DB<2> x \@x
0 ARRAY(0x103d5768)
0 empty slot
1 empty slot
2 0
또는
DB<3> $#y = 4
DB<4> x \@y
0 ARRAY(0x103d5718)
0 empty slot
1 empty slot
2 empty slot
3 empty slot
4 empty slot
는 참고 :이
undef
을 할당과 동일하지 않습니다.
그러나 어떻게 익명 배열에 [
과 ]
을 사용한다고 지정합니까?
DB<5> x [,,0]
syntax error at (eval 27)[/usr/local/lib/perl5/5.10.0/perl5db.pl:638] line 2, near "[,"
을 그리고 난 단지 할당 된 값 얻을 수 있기 때문에이 역시 실패 :
이 작동하지 않습니다
DB<6> x []->[2] = 0
0 0
보너스 질문 : 내가 '빈 배열 슬롯'을 확인 할 수있는 방법을 내 펄 스크립트에?
배경 : 테스트 스크립트에서 배열 내용을 정확하게 비교할 수 있기를 바랍니다. 예를 들어, '할당되지 않음'과 'undef 값으로 할당 됨'을 구별하고 싶습니다.
통찰력을 주셔서 감사합니다.
당신은 사용하여 배열에 직접 할당을 수행하는 방법 의미는 '[]'익명의 배열에 대해,'exists'로 테스트했을 때 false를 반환하는 배열 안에 값이 있습니까? – TLP
예. 게으르다면, 한 문장으로 이것을 지정할 수 있으면 좋을 것입니다. 그렇지 않으면 여러 문에서 'undef'를 사용하거나 실행해야합니다. – hexcoder