คำถามติดแท็ก late-binding

9
การปิดคำศัพท์ทำงานอย่างไร
ขณะที่ฉันกำลังตรวจสอบปัญหาที่ฉันมีเกี่ยวกับการปิดคำศัพท์ในรหัส Javascript ฉันมาพร้อมปัญหานี้ใน Python: flist = [] for i in xrange(3): def func(x): return x * i flist.append(func) for f in flist: print f(2) lambdaหมายเหตุว่าตัวอย่างนี้สติหลีกเลี่ยง มันพิมพ์ "4 4 4" ซึ่งน่าแปลกใจ ฉันคาดหวัง "0 2 4" รหัส Perl ที่เทียบเท่านี้ไม่ถูกต้อง: my @flist = (); foreach my $i (0 .. 2) { push(@flist, sub …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.