เมื่อฉันพบกับสถานการณ์ฉันสามารถทำได้ในจาวาสคริปต์ฉันมักจะคิดว่าถ้ามีforeach
ฟังก์ชั่นมันจะสะดวก โดย foreach ฉันหมายถึงฟังก์ชันที่อธิบายไว้ด้านล่าง:
def foreach(fn,iterable):
for x in iterable:
fn(x)
พวกเขาทำมันในทุกองค์ประกอบและไม่ได้ให้ผลหรือส่งคืนบางสิ่งฉันคิดว่ามันควรจะเป็นฟังก์ชันในตัวและควรจะเร็วกว่าการเขียนด้วย Python บริสุทธิ์ แต่ฉันไม่พบมันในรายการหรือ แค่เรียกชื่ออื่น?
บางทีฉันอาจจะคิดผิดทำให้การเรียกใช้ฟังก์ชันใน Python มีราคาสูงไม่ใช่แนวทางปฏิบัติที่ดีสำหรับตัวอย่าง แทนที่จะวนรอบนอกฟังก์ชั่นควรทำวนซ้ำที่ด้านข้างตัวของมันมีลักษณะดังนี้ด้านล่างซึ่งได้กล่าวไว้แล้วในคำแนะนำโค้ดของ python หลายรายการ:
def fn(*args):
for x in args:
dosomething
แต่ฉันคิดว่า foreach ยังคงเป็นที่น่ายินดีสำหรับข้อเท็จจริงสองประการ:
- ในกรณีปกติผู้คนไม่สนใจเกี่ยวกับประสิทธิภาพ
- บางครั้ง API ไม่ยอมรับออบเจ็กต์ที่ทำซ้ำได้และคุณไม่สามารถเขียนซอร์สซ้ำได้
for
ลูป?