✨ 最佳解答 ✨
台灣在教假設語氣的時候,
喜歡把句子只分成三類,三種使用情境。
但沒有真的涵蓋所有的用法。
這邊的問題在於,你需要了解if句跟主句的時間軸是可以分開討論的
If he had not helped me, I would not survive.
假如(當初)他沒有幫我 [與過去事實相反],我(現在)不會活著 [與現在事實相反]
所以討論一件過去的事情,不過是對現在的影響
這是一個很自然的邏輯
因此是可以 if句討論過去+主句討論現在
但反過來就不太行(if句現在,來影響主句過去)
先討論If it had not been for, 這句就是標準的與過去事實相反
後面的主句,遵循上面的邏輯
過去事情,影響過去事情:
If it had not been for his help, I would not have passed the test.
當初如果不是他的幫忙,我當初就不會通過考試(整件事情已經過去一陣子了)
過去事情,影響現在事情:
*If it had not been for the traffic, I would not be late.
如果不是交通的關係,我(現在)不會遲到。(當下在討論)
這句文法雖然沒問題,但日常生活比較少這樣使用,因為有點太文周周
所以在這種情境下,其實日常生活就會用If it were not for
If it were not for the traffic, I would not be late.
如果不是交通的關係,我(現在)不會遲到。(當下在討論)
語意上是一樣的,因為if句也是在討論過去的事情,
但因為後面是接現在/當下的影響,比較習慣使用If it were not for
又,因為口語較常用這個用法
所以有些人開始會在它後面接過去的事情
變得跟If it had not been一樣
但這是日常口語,你知道一下就好
考試還是要做出區別
結論就是,討論過去事情對已經過去的事情的影響
用If it had not been for...
討論過去事情對現在事情的影響
用If it were not for...
without跟but for 兩個情境皆可
日常口語較常使用without跟If it were not for.
如果以這題來舉例If it had not been for the traffic, I would not be late.
如果他要說的是很久以前發生過的一次遲到
他可以說*If it had not been for the traffic, I would have not been late.嗎
當然可以
謝謝
倒裝則是非常文周周的用法...看得懂就好。