เฉลย
he could have stopped in timeแปลว่า "เขาจะสามารถหยุดรถได้ทันเวลา" (ในอดีต)
โครงสร้าง could have + V3 ใช้พูดถึงเหตุการณ์ที่สามารถ/อาจจะเกิดขึ้นได้ในอดีต แต่ไม่เกิดขึ้นในความเป็นจริง (ในกรณีนี้ความเป็นจริงคือ "เขาหยุดรถไม่ทัน")
ประโยคย่อยข้างหน้าต้องการความหมายว่า "ถ้าเขาขับรถช้ากว่านั้น" กรณีนี้เราจะใช้ if-clause แบบที่ 3 ซึ่งมีโครงสร้างคือ
if + past perfect (continuous), would/could/should/might + have + V3ซึ่งใช้กล่าวถึงสิ่งที่ตรงข้ามกับความจริงในอดีต ดังนั้น if-clause ในโจทย์ข้อนี้จะเขียนได้เป็น
If he had been driving more slowly, ...ประโยคย่อยนี้เราสามารถตัด if ออก และย้าย had มาไว้ข้างหน้าได้ (เรียกว่า inversion)
Had he been driving more slowly, ...ซึ่งตรงกับตัวเลือก 5
หมายเหตุ:
1. If-clause แบบที่ 3 ใช้ได้ทั้ง past perfect ธรรมดา และ past perfect continuous ขึ้นอยู่กับความเหมาะสม; โจทย์ข้อนี้ใช้ past perfect continuous ถือว่าเหมาะสมแล้ว เพราะเหตุการณ์ที่เค้าขับรถในกรณีนี้เป็นเหตุการณ์ที่เกิดชั่วคราว (temporary) ที่ดำเนินมาจนถึงจุดที่เค้าหยุดรถ
2. ในทำนองเดียวกัน if-clause แบบที่ 1 จะใช้ present อะไรก็ได้ขึ้นกับความเหมาะสม (ไม่จำเป็นต้องเป็น present simple อย่างเดียว) ส่วน if-clause แบบที่ 2 นอกจากจะใช้ past simple แล้ว ยังสามารถใช้ past continuous ก็ได้ถ้าเป็นการสมมติว่าเหตุการณ์กำลังดำเนินอยู่ ณ ขณะที่พูด
3. อ่านเรื่อง if-clause + inversion เพิ่มเติมได้ในบทความที่ 12
โจทย์และคำเฉลยนี้เขียนโดยครูแมค โพสต์ครั้งแรกใน facebook page เรียนภาษาอังกฤษกับครูแมค เมื่อ January 28, 2015