ครั้งแรกของทั้งหมด: .sayไม่ไม่ให้ค่าตัวตนเพราะที่เรียก.gistวิธีการแสดงออกที่กำหนด สำหรับค่าตัวตนคุณต้องเรียก.WHICHวิธีการ โชคดีที่Block.gistวิธีการนี้รวมถึงค่าตัวตนในการทำให้เป็นสตริง แต่ไม่รับประกันว่าจะเป็นกรณีสำหรับวัตถุทั้งหมด
สิ่งที่คุณเห็นคือเครื่องมือเพิ่มประสิทธิภาพแบบสแตติกในที่ทำงาน: เนื่องจากไม่มีสิ่งใดเกิดขึ้นภายในบล็อกจึงสามารถละทิ้งได้ ในกรณีที่มันแตกต่างกัน (ที่คุณระบุลายเซ็นสำรอง) จะแตกต่างกัน หากคุณเรียกใช้สคริปต์นี้ด้วย--optimize=0หรือ--optimize=1บล็อกทั้งหมดจะมีค่าตัวตนที่แตกต่างกัน
ฉันเดาว่าคุณสามารถเรียกได้ว่าเป็นปัญหาที่กล่าวถึง&?BLOCKไม่ได้ขัดขวางเครื่องมือเพิ่มประสิทธิภาพแบบคงที่จากการทำให้ขอบเขตแบนราบ ในทางกลับกันคุณอาจเรียกกรณีนี้ว่า DIHWIDT (หมอมันเจ็บเมื่อฉันทำสิ่งนี้) ดังนั้นอย่าทำอย่างนั้น :-)
ปรับปรุง: มันเป็นลายเซ็นที่แตกต่างที่สร้างความแตกต่าง Daniel Mita ++