4. |
與過去事實相反的條件句 —— 屬於“假設法”: |
| ||
|
|
基本結構:If + S. + V.(過去完成式)..., S.+ should / would have + p.p.... | ||
|
|
此一結構裏的條件子句所設的條件並未發生,因而結果子句所述的結果也未實現。試比較以下各例中的每一句 (注意句後括弧裏的說明): | ||
|
|
(1) |
a. |
If the weather is nice tomorrow, we will go (or are going to go) to the zoo. (不知明天的天氣是好是壞,或認爲明天的天氣可能很好,所以預作計劃或承諾) |
|
|
|
|
(如果明天天氣好的話,我們就去動物園。) |
|
|
|
b. |
If the weather were nice today, we would go to the zoo. (事實上,今天的天氣很壞,所以我們沒有去動物園) |
|
|
|
c. |
If the weather had been nice yesterday, we would have gone to the zoo. (事實是:昨天天氣很壞,所以我們沒去) |
|
|
(2) |
a. |
If I have enough money, I will go with you. (首先我得數一數我的錢看看夠不夠) |
|
|
|
b. |
If I had enough money, I would go with you. (可是我的錢不夠) |
|
|
|
|
以上兩例都是指現在,由於情況不同 (如括弧裏所言),所用的動詞形式亦因而不同。 |
|
|
|
c. |
If I had had money, I would have gone with you. (可是我當時沒有足夠的錢) |
|
|
|
|
本例和 “b”例都是與事實相反,由於時間不同 (本例指過去,“b”例指現在),所用的動詞形式亦因而不同。 |
|
|
(3) |
If he had heard of your marriage, he would have been surprised. (But he didn't hear of your marriage.) | |
|
|
(4) |
If I had known (that) he was not at home, I should not have called on him. (I didn't know he was not at home, and so I went all the way in vain.) | |
|
|
|
名詞子句 (that) he was not at home 是事實,而非與事實相反,所以動詞應該用was,不可 用假設法的were或had been。下例中的that子句也是事實,子句裏的動詞 were coming 不可改成 had been coming。 | |
|
|
(5) |
If I had known that you were coming, I would have met you at the airport. (But I didn't know, so I didn't meet you.) | |
|
|
(6) |
I would not have said it when she was there, if I had thought that it would s hock her. (I said it when she was there because I didn't think that it would shock her.) | |
|
|
|
上例中的副詞子句 where she was there 和名詞子句 that it would shock her 所述都是事實,而非與事實相反,不可用 were 或 had been 和 would have shocked。 | |
|
|
(7) |
If it hadn't been for his brainlessness, the accident would not have happened. (The accident happened because of his brainlessness.) |
|
留言列表