Ruby Array with Range : Note

 - by NAzT

กำลังสงสัยว่า

 ใน ruby a[0..n] ทำไมมันถึงไม่เหมือนกับ a[0,n] ครับ มันควรจะเหมือนกันไม่ใช่หรอครับ   เพราะไปเขียน Merge Sort แล้ว มันให้ผลไม่เหมือนกันเกิด Infinite Loop เลยทีเดียว พอเปิดหนังสือดู อ้าว… เฮ้ย เจ้าตัว operator [ ] ของ มันก็ให้ผลเหมือนกันนี่หว่า return เหมือนกันเลย หลังจากนั้นก็ลองไปเทสแยกดู ตอนแรก a[0,3] กับ  a[0..3] มันเท่ากัน ก็เลย งงว่า มันก็เท่ากันนี่หว่า แต่ลองเช็คอีกทีว่าถ้าเป็น 0,0 มันจะ return อะไร แล้วก็โป๊ะเชะ 

 

ที่มันไม่เท่าเพราะ  a=["a","b","c","d"] แล้ว   >> a[0..0] => ["a"] ส่วน    >> a[0,0]  => []

 

 

เฮ่อแบบนี้ก็ต้องใช้ a[x,y]  เพราะมันจะ return [] มาได้ทำให้หลุดจาก recursion 

 

Related Blogs

เรื่องที่เกี่ยวข้อง