2
เหตุใดดัชนีใน XPath จึงเริ่มต้นด้วย 1 และไม่ใช่ 0
เพื่อนร่วมงานบางคนและฉันกำลังเปรียบเทียบภาษาในอดีตที่เราได้ตั้งโปรแกรมไว้และกำลังพูดถึงประสบการณ์ของเรากับVBScriptด้วยคุณสมบัติแปลก ๆเช่นดัชนีที่อิง 1 รายการแทนที่จะเป็นดัชนีที่อิง 0 เหมือนกับภาษาอื่น ๆ เกือบทั้งหมดมีเหตุผลว่ามันเป็นภาษาสำหรับผู้ใช้ (เช่น Excel VBA) แทนที่จะเป็นภาษาสำหรับนักพัฒนา จากนั้นก็มีคนพูดว่า " XPath มีดัชนี 1 ฐานด้วย " ซึ่งฉันไม่อยากจะเชื่อเลยจนกว่าจะพบบทความนี้ซึ่งมีหลายเหตุผลที่ให้เหตุผลว่าเป็นแนวทางที่อิง 0รวมถึงบางส่วนจาก Michael Kay เอง: "... การจัดทำดัชนีแบบศูนย์มีแนวโน้มที่จะทำให้สูตรดัชนีง่ายขึ้นเมื่อเข้าถึงอาร์เรย์หลายมิติด้วยนิพจน์การเข้าถึงอาร์เรย์แบบมิติเดียว" "เมื่อจัดการตารางหรือสมัครสมาชิกเป็นสตริงการกำหนดแอดเดรสแบบศูนย์มักจะสะดวกกว่ามาก" "... การกำหนดแอดเดรสฮาร์ดแวร์ไม่ใช่ประโยชน์เพียงอย่างเดียวของการกำหนดแอดเดรสแบบ 0 เท่านั้น ... แต่ยังช่วยให้การคำนวณง่ายขึ้น ... " แต่ Michael Kay ถูกยกมาเป็นข้อสรุป: ... ตรรกะแบบ 1 เป็นตัวเลือกที่เหมาะสมสำหรับ XPath และ XSLT ... เนื่องจากภาษาได้รับการออกแบบมาสำหรับผู้ใช้ไม่ใช่สำหรับโปรแกรมเมอร์และผู้ใช้ยังคงมีนิสัยล้าสมัยในการอ้างถึงบทแรกในหนังสือเป็น Chapter หนึ่ง... …