11
การออกแบบช่วงตัวอักษรที่สมบูรณ์แบบ
ฉันคิดว่าฉันจะออกแบบตัวอักษรที่ "สมบูรณ์แบบ" ได้อย่างไรถ้าฉันจะออกแบบภาษา สำหรับคุณที่ไม่ทราบว่าเป็นช่วงตัวอักษรในคำสั่งที่แสดงถึงช่วงของค่าเช่น 1-4 พวกมันถูกใช้บ่อยที่สุดใน for / foreach loops ดูเหมือนจะมีปัญหาสองข้อที่ควรคำนึงถึง การสนับสนุนสำหรับช่วงที่รวมและไม่เหมือนใครการตรึงบน +1 หรือ -1 ถึงจุดสิ้นสุดดูเหมือนว่าจะผิดพลาดและไม่มีข้อผิดพลาด สนับสนุนการก้าวดังนั้นคุณสามารถสร้างช่วงของเลขคู่หรือคี่ได้ ความสามารถในการอ่านควรชัดเจนว่าช่วงตัวอักษรหมายถึงอะไร ความไม่น่าสงสัยมันควรจะไร้เหตุผลอย่างสมบูรณ์แบบในสิ่งที่ช่วงตัวอักษรอธิบาย ค่าเริ่มต้นควรเป็นแบบรวมถึงแบบเอกสิทธิ์เนื่องจากเป็นสิ่งที่ใช้ในกรณีส่วนใหญ่สำหรับการวนซ้ำอาร์เรย์เป็นต้น อย่างไรก็ตามตัวอย่างหนึ่งของช่วงตัวอักษรที่ฉันได้เห็นคือ Ruby ซึ่งอยู่ในรูปแบบของ 1..3 สำหรับช่วงพิเศษ (ที่สิ้นสุด) และ 1 ... 3 สำหรับการรวม (บนสุด) คุณยังสามารถทำ 1..10.step (5) หลังจากพิจารณาอย่างถี่ถ้วนแล้วฉันพบบางสิ่งที่ฉันไม่ชอบเกี่ยวกับวิธีการนั้น (จากความรู้ที่ จำกัด เกี่ยวกับทับทิม) คุณสามารถอธิบายได้อย่างครอบคลุมและพิเศษเฉพาะตอนท้าย ในขณะที่อธิบายสถานการณ์ส่วนใหญ่ดูเหมือนจะไม่สอดคล้องกันเล็กน้อย แตกต่างกันเพียงเพิ่มเติม ดูเหมือนว่าเป็นสูตรสำหรับทำให้ยากที่จะดูว่าช่วงนั้นครอบคลุมหรือเป็นเอกสิทธิ์ ฉันไม่รู้เกี่ยวกับคุณ แต่จุดที่มักจะกลายเป็นสิ่งที่เบลอ :) การเพิ่มวิธีการเช่นสัญกรณ์สำหรับช่วงดูเหมือนจะผสมผสานความคิดของตัวอักษรเข้ากับชั้นเรียนซึ่งดูเหมือนว่าจะไม่สอดคล้องกันเล็กน้อย อย่างไรก็ตามหลังจากไตร่ตรองทางเลือกที่แตกต่างกัน ฉันมากับสิ่งนี้ [5..1] …