Tôi đã làm việc với perl trong khoảng hai tháng nay; nó chỉ xảy ra với tôi rằng tôi không biết làm thế nào để thiết lập các đối số mặc định cho các chương trình con. Dưới đây là những gì tôi đã xem xét:Giá trị đối số mặc định trong chương trình con
sub hello {
print @_ || "Hello world";
}
Và nó hoạt động tốt nếu tất cả những gì bạn cần là một đối số. Bạn sẽ đặt giá trị mặc định cho nhiều đối số như thế nào? Tôi sẽ làm điều này:
sub hello {
my $say = $_[0] || "Hello";
my $to = $_[1] || "World!";
print "$say $to";
}
Nhưng đó là rất nhiều công việc ... Phải có một cách dễ dàng hơn; có thể là một thực hành tốt nhất? Cảm ơn!
Yea tôi đã cố gắng 'in @_ // "Hello world";' nhưng tôi đã nhận '0' ... – David
@Davidmoreen: kiểm tra mảng để xác định không hữu ích – ysth
@Davidmoreen, cách chính xác để nói đó là 'in $ _ [0] //" Hello world ";'. Như bạn đã nói, bạn không thể sử dụng 'đã định nghĩa' trên một mảng (nghĩa là' // 'có nghĩa là), bởi vì một mảng trong ngữ cảnh vô hướng trả về độ dài của nó, mà luôn luôn được định nghĩa. – cjm