Tôi có kịch bản sau đây:
#!/usr/bin/perl
use warnings;
use strict;
my $count = 0;
my (@first , @second , @third);
while ($count <= 7){
push (@first , $count);
push (@second , $count) if defined $count;
push (@third , $count) if $count;
$count++;
}
print "first: @first\n";
print "second: @second\n";
print "third: @third\n";
này tạo ra kết quả như sau:
first: 0 1 2 3 4 5 6 7
second: 0 1 2 3 4 5 6 7
third: 1 2 3 4 5 6 7
sự khác biệt giữa việc đưa if defined $count
vs if $count
, khác so với phương pháp thứ hai sẽ không thêm số không vào là gì mảng? Tôi đã tìm kiếm các perldocs nhưng không thể tìm thấy câu trả lời.
phải là: "khi $ count ước tính! = 0" –
@nathan. Chúc mừng –
Cả hai đều làm việc theo cùng một cách, thực sự. Đó là giá trị mà họ kiểm tra đó là khác nhau. Đầu tiên kiểm tra giá trị của $ count, giá trị thứ hai của giá trị được xác định là $ count. if() không quan tâm đến cách bạn nhận được giá trị. –