คำถามติดแท็ก equivalence

10
วิธีที่สวยงามในการสนับสนุนความเท่าเทียม ("ความเท่าเทียมกัน") ในคลาส Python
เมื่อเขียนคลาสที่กำหนดเองมักเป็นสิ่งสำคัญที่จะอนุญาตให้มีความเท่าเทียมกันโดยใช้ตัวดำเนินการ==และ !=ใน Python สิ่งนี้เกิดขึ้นได้โดยการใช้__eq__และ__ne__วิธีพิเศษตามลำดับ วิธีที่ง่ายที่สุดที่ฉันพบว่าทำคือวิธีการต่อไปนี้: class Foo: def __init__(self, item): self.item = item def __eq__(self, other): if isinstance(other, self.__class__): return self.__dict__ == other.__dict__ else: return False def __ne__(self, other): return not self.__eq__(other) คุณรู้วิธีที่สง่างามมากขึ้นในการทำเช่นนี้? คุณรู้ถึงข้อเสียใด ๆ ในการใช้วิธีการเปรียบเทียบข้างต้น__dict__หรือไม่? หมายเหตุ : การชี้แจงเล็กน้อย - เมื่อ__eq__และ__ne__ไม่ได้กำหนดคุณจะพบพฤติกรรมนี้: >>> a = Foo(1) >>> b = Foo(1) >>> …

24
วิธีการแสดงโหลดปินเนอร์ใน jQuery?
ในต้นแบบฉันสามารถแสดงภาพ "กำลังโหลด ... " ด้วยรหัสนี้: var myAjax = new Ajax.Request( url, {method: 'get', parameters: pars, onLoading: showLoad, onComplete: showResponse} ); function showLoad () { ... } ในjQueryฉันสามารถโหลดหน้าเซิร์ฟเวอร์ลงในองค์ประกอบด้วยสิ่งนี้ $('#message').load('index.php?pg=ajaxFlashcard'); แต่ฉันจะแนบสปินเนอร์การโหลดไปยังคำสั่งนี้เหมือนกับที่ฉันทำใน Prototype ได้อย่างไร

4
ทำไม "ถ้าไม่มี. __ eq __ (" a ")" ดูเหมือนจะประเมินเป็น True (แต่ไม่มาก)
หากคุณดำเนินการคำสั่งต่อไปนี้ใน Python 3.7 จะพิมพ์ (จากการทดสอบของฉัน) b: if None.__eq__("a"): print("b") อย่างไรก็ตามประเมินNone.__eq__("a")NotImplemented ธรรมชาติ"a".__eq__("a")ประเมินTrueและประเมิน"b".__eq__("a")False ผมเริ่มค้นพบนี้เมื่อการทดสอบค่าตอบแทนของฟังก์ชั่น แต่ไม่ได้กลับอะไรในกรณีที่สอง - Noneเพื่อฟังก์ชั่นที่ส่งกลับ เกิดอะไรขึ้นที่นี่?

8
จะทดสอบความเท่าเทียมกันของแผนที่ใน Golang ได้อย่างไร?
ฉันมีกรณีทดสอบที่ขับเคลื่อนด้วยตารางเช่นนี้: func CountWords(s string) map[string]int func TestCountWords(t *testing.T) { var tests = []struct { input string want map[string]int }{ {"foo", map[string]int{"foo":1}}, {"foo bar foo", map[string]int{"foo":2,"bar":1}}, } for i, c := range tests { got := CountWords(c.input) // TODO test whether c.want == got } } ฉันสามารถตรวจสอบว่าความยาวเท่ากันหรือไม่และเขียนลูปที่ตรวจสอบว่าทุกคู่คีย์ - ค่าเหมือนกันหรือไม่ แต่ฉันต้องเขียนเช็คนี้อีกครั้งเมื่อต้องการใช้กับแผนที่ประเภทอื่น (พูดmap[string]string) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.