List Comprehensions in Python and Ruby Way

List Comprehensions เป็น Feature ที่น่าสนใจบน Python
และมีอีกหลายภาษาที่นำ Feature นี้ไปใช้ ที่ผมพบคือ Coffee Script
http://www.python.org/dev/peps/pep-0202/
List Comprehensions จะพูดง่ายๆ คือการที่เราทำอะไรสักอย่างกับ List ที่มีอยู่
แล้วคืนค่ากลับมาเป็น List เช่น ยกกำลัง 2 จำนวนเต็มทุกตัวที่เป็นเลขคู่
หรือพูดอีกแง่คือ เราสามารถสร้าง List จากคำสั่ง for, if ก็ย่อมได้
ซึ่งเราสามารถใช้วิธีการวน for (และใส่ if ข้างใน) ก็สามารถทำได้เช่นเดียวกัน
แต่การใช้ List Comprehensions จะทำได้ในบรรทัดเดียว และมันเร็วกว่าด้วย
(เรื่องของเร็วกว่า ลองไปศึกษาเพิ่มเติมดูนะครับ)

มาดูในภาษา Python กันก่อน
ส่วนในภาษา Ruby นั้น ไม่มี List Comprehensions ให้ใช้ แต่มี method ที่ช่วยให้เราทำในลักษณะเดียวกันได้ นั่นคือ select และ map จะเขียนได้ประมาณนี้ครับ แต่ map นั้นจะเป็นการทำอะไรสักอย่างกับ List เท่านั้น ไม่สามารถใช้ในการสร้าง List ขึ้นมาใหม่ได้เหมือน List Comprehensions ใน Python
เมื่อดูจาก Syntax แล้ว ... ผมให้ Python ชนะเรื่องนี้นะ ... Code มัน Readable กว่าจริงๆ 
แต่จากการใช้งานพบว่า ถ้าซ้อนกันหลายๆ ชั้นนี่ คนอ่านถ้าไม่ได้ใช้มาบ่อยๆ จะ งง ได้ง่าย
แต่ก็ถือว่าเป็นเทคนิคที่น่านำไปใช้นะครับ ประหยัดบรรทัดด้วย :)

Popular posts from this blog

12 วิธี การบริการและดูแลลูกค้าในร้าน Starbucks

[Android Dev] การติดตั้ง Eclipse+AndroidSDK เพื่อพัฒนาโปรแกรมบน Android

"อีสุกอีใส" ประสบการณ์เมื่อต้องมาเป็นตอนอายุ 22