Tôi đọc "Bắt đầu từ Perl" cuốn sách, và nó mang lại cho hai câu lệnh sau đây:Danh sách Phương thức ưu tiên trong Perl
print "Test one: ", 6 > 3 && 3 > 4, "\n";
print "Test two: ", 6 > 3 and 3 > 4, "\n";
Dòng đầu tiên in gì với một dòng mới, dòng thứ hai in 1 với không có dòng mới.
Tôi đang nhầm lẫn về đầu ra. Theo tác giả, tuyên bố thứ hai cho ra kết quả kỳ lạ vì nó giống như nói:
print ("Test two: ", 6 > 3) and 3 > 4, "\n";
Tuy nhiên, tại sao câu đầu tiên không giống nhau? Tôi nghĩ rằng nó có cái gì đó để làm với ưu tiên của in. Các & & có quyền ưu tiên cao hơn so với in, vì vậy nó được đánh giá đầu tiên và sau đó nó được in. Trong khi "và" có ưu tiên thấp hơn so với in, vì vậy 6> 3 sẽ được in, in trả về 1 và sau đó được đánh giá bằng "và". Tuy nhiên điều này không thực sự có ý nghĩa.
Tôi đã đọc tài liệu Perl về cách ưu tiên hoạt động cho các toán tử danh sách, nhưng tôi vẫn không hiểu ví dụ này. Các bạn có thể mổ xẻ hai câu, và cho tôi biết những gì được in trước? Bạn cũng có thể giải thích tài liệu Perl có nghĩa là khi nó đề cập đến các toán tử danh sách là "trái" và "phải không?" Cảm ơn.
Cảm ơn rất nhiều người đã trả lời câu hỏi của bạn. Tôi hiểu nó ngay bây giờ. Tôi đã thực sự làm những gì cjm nói, và nghĩ rằng có những người điều hành danh sách bên trái và bên phải. Vì vậy, bây giờ tôi hiểu ý nghĩa của nó, tôi hiểu toàn bộ sự việc.
mã này in cảnh báo. và thậm chí có cả hành vi của funner trong Devel :: REPL – xenoterracide
@xenoterracide, nó không có ý định là mã Perl tốt. Nó chỉ cố gắng minh họa cách ưu tiên hoạt động. – cjm
@cjm đúng ... mặc dù hành vi của re.pl có vẻ sai, đủ để tôi gửi một lỗi lên đó. chúng ta sẽ thấy điều gì xảy ra. – xenoterracide