Đây là kịch bản Perl của tôi và đầu ra của nó:Tại sao Perl phàn nàn "Sử dụng vô dụng ngữ cảnh không liên tục trong khoảng trống", nhưng thỉnh thoảng?
use strict;
use warnings;
(undef, 1); # no output
(0, 1); # no output
(1, 1); # no output
(2, 1); # "Useless use of a constant in void context at C:\...\void.pl line 7"
(3, 1); # "Useless use of a constant in void context at C:\...\void.pl line 8"
("", 1); # "Useless use of a constant in void context at C:\...\void.pl line 9"
("0", 1); # "Useless use of a constant in void context at C:\...\void.pl line 10"
("1", 1); # "Useless use of a constant in void context at C:\...\void.pl line 11"
Tôi mong chờ cảnh báo ở mỗi dòng. Điều gì đặc biệt về undef
, 0
và 1
điều này khiến điều này không xảy ra?
Tôi cũng sẽ nói điều này. Nó nói dưới 'Sử dụng vô dụng% s trong ngữ cảnh void' rằng' Cảnh báo này sẽ không được cấp cho các hằng số bằng 0 hoặc 1' http://perldoc.perl.org/perldiag.html#Useless-use-of- % s-in-void-context – chilemagic
Phân tích tốt thông qua tài liệu. Tuy nhiên, không giải thích '(undef, 1)'. (Đang ném đi 'undef' xem xét không ném đi bất cứ điều gì?) –
@Ted Hopp, tôi đã thêm một lời giải thích cho 'undef'. – ikegami