1
Perl 6 ลดฟังก์ชั่นและ metaoperator ลดให้ผลลัพธ์ที่แตกต่าง
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) ประการที่สองฉันต้องการใช้สิ่งนี้ภายในฟังก์ชั่นการลดเช่นแนะนำรหัสบางอย่างภายในวงเล็บปีกกาของฟังก์ชั่นการลดขนาดเพื่อให้ผลลัพธ์เช่นเดียวกับตัวดำเนินการลดเมตาดาต้า ฉันจะทำมันได้อย่างไร ขอบคุณ.