my @s=<1 2 3 2 3 4>;
say reduce {$^a < $^b}, @s;
say [<] @s;
# --------
# True
# False
คำถามของฉันคือสองเท่า: ประการแรกทำไม metaoperator ลดประมวลผล<
ผู้ประกอบการแตกต่างกันอย่างไร ดูเหมือนว่า metaop ที่ลดลงนั้นประมาณว่าใช้ตัวแปรซึ่งในการเปลี่ยนแปลงครั้งแรกของจริงเป็นเท็จจะคงไว้ซึ่งการเปลี่ยนแปลงนั้นเพราะ:
say [\<] @s;
# ----------
# (True True True False False False)
ประการที่สองฉันต้องการใช้สิ่งนี้ภายในฟังก์ชั่นการลดเช่นแนะนำรหัสบางอย่างภายในวงเล็บปีกกาของฟังก์ชั่นการลดขนาดเพื่อให้ผลลัพธ์เช่นเดียวกับตัวดำเนินการลดเมตาดาต้า ฉันจะทำมันได้อย่างไร ขอบคุณ.