13 คะแนน โดย xguru 2021-03-07 | 4 ความคิดเห็น | แชร์ทาง WhatsApp
  • ความต้องการเกี่ยวกับ Pattern Matching

  • ประวัติของแนวคิด Pattern Matching

  • การปรากฏตัวของ PEP 622

  • ข้อถกเถียงที่ตามมา

  • PEP 622 v2

  • PEP 622 ได้ตายไปแล้ว, PEP 634, 635, 636 จงเจริญ

  • Hello, Pattern Matching!

  • เรื่องราวที่ยังไม่จบ

4 ความคิดเห็น

 
minji 2021-03-08

ไม่เคยรู้มาก่อนเลยว่ามีเบื้องหลังแบบนี้อยู่ด้วย อ่านได้สนุกมากจริง ๆ

 
dynalloc 2021-03-08

ตอนอ่านคำพูดที่ยกมาในบทความว่า "Point(x,0) มีความหมายใหม่ทั้งหมดที่ไม่ได้เรียก Point.__new__ และก็ไม่ได้ค้นหาตัวแปรชื่อ x ด้วย ซึ่งมันไม่เป็นธรรมชาติในเชิงสัญชาตญาณ" ผมก็เคยเห็นด้วยกับความเห็นที่ว่าภาษา Python ไม่ค่อยเหมาะกับไวยากรณ์ pattern matching แต่พอได้อ่าน PEP 634~636 แล้วก็รู้สึกว่า pattern matching เองก็ดูเข้าท่าเหมือนกัน

ภาษาตระกูล ML นั้นเป็นธรรมชาติอยู่แล้วเพราะมีการคำนึงถึง pattern matching ตั้งแต่ตอนออกแบบภาษา แต่ใน Python นั้น "Point" ถูกใช้เหมือนเป็น constructor ของคลาสอยู่ก่อนแล้ว ก็เลยเคยคิดว่าต้องสับสนมากแน่ ๆ — แต่พออ่านตัวอย่างโค้ดที่อยู่ใน PEP แล้ว กลับไม่รู้สึกสับสนเลยครับ

 
sihadan 2021-03-07

เป็นบทความของผมเองครับ ขอบคุณที่แนะนำ

พอได้ตามหาประเด็นเบื้องหลังแบบนี้ ก็ยิ่งรู้สึกว่าการตัดสินใจในประเด็นที่ความเห็นแตกต่างกันอย่างรุนแรงนั้นเป็นเรื่องที่ยากมากจริง ๆ

 
xguru 2021-03-07

ก่อนหน้านี้ผมไม่ค่อยเข้าใจว่าทำไมถึงมีการพูดถึงประเด็นต่าง ๆ เกี่ยวกับการเพิ่ม pattern matching แต่บทความนี้ช่วยให้เข้าใจได้มากขึ้น ขอบคุณสำหรับบทความดี ๆ ครับ!!