學習重點 先判斷條件與結果各自的時間:現在的假設用過去式;過去的假設用過去完成式。last night、years ago、then 等是線索,仍須確認它們修飾哪個動作。 熟記兩大句型:現在假設為「If+過去式/were,主詞+would 等+原形動詞」;過去假設為「If+had+過去分詞,主詞+would 等+have+過去分詞」。 混合假設不可機械配對:條件與結果可能分屬不同時間,不能看到 would have 就認定 if 子句一定用 had。 認出省略 if 的倒裝及隱含條件:Were I…、Had I known… 都是條件子句;But for+名詞表示「要不是有……」。 掌握 as if/as though:表示與現在事實相反的「彷彿」時,子句用過去式;正式考試中的 be 動詞選 were。 核心觀念 一、現在假設與過去假設的基本對照 假設語氣的動詞形式不只表示時間,也表示說話者認為情況不符合事實,或發生的可能性較低。因此,過去式不一定是在敘述過去發生的事。 類型if 條件子句主要子句意義 與現在事實相反,或現在、未來較不可能的假設過去式;be 用 werewould/could/should/might+原形動詞假如現在或未來如此,就會…… 與過去事實相反had+過去分詞would/could/should/might+have+過去分詞假如當時如此,本來就會…… 以下以 p.p. 代表過去分詞。主要子句的 would 通常表示「會」,could 表示「能、可能」,might 表示「或許會」,須配合語意理解。 二、與現在事實相反:過去式是假設標記 例如 If I had more time, I would exercise regularly. 表示「假如我有更多時間,我就會規律運動」。had 是 have 的過去式,這裡描述現在時間不足的假設,並非過去的擁有。 一般動詞用過去式:win 變 won;否定用 did not+原形動詞。 be 動詞的正式假設形式用 were:不論主詞是 I、he、she 或其他人稱,都可用 were。口語雖可見 was,本單元的正式選擇題以 were 為準。 主要子句用情態助動詞+原形動詞:例如 would give、would not have enough energy。 would not have+名詞不是完成式。其中 have 是「擁有」的原形動詞;必須是 have+p.p.,才形成完成形式。比較:would have time 是「會有時間」,would have finished 是「本來會完成」。 三、與過去事實相反:已發生的事無法重來 敘述「當時若有做,結果本來會不同」時,條件用 had+p.p.,結果用 情態助動詞+have+p.p.。例如 If she had left earlier, she would have caught the train. 表示她當時沒有早點出門,因此沒趕上火車。 肯定條件:had listened、had known、had told;否定條件為 had not/hadn't+p.p.,如 hadn't seen、had not met。 had had 並非重複錯誤:第一個 had 是過去完成式的助動詞,第二個 had 是 have 的過去分詞。表示「當時若擁有足夠的錢」,應用 had had enough money。 結果也要表達過去:would have gone、would have bought、could have married,分別表示本來會去、本來會買、本來可能結婚。 marry 可直接接受詞:marry someone 表示「與某人結婚」;be married 則描述婚姻狀態,兩者不能只因中文相近就任意替換。 傳統英式用法中,第一人稱 I/we 的假設結果可用 should 代替 would。因此 should have failed 可表示「本來會失敗」,shouldn't have believed 可表示「本來不會相信」。不能一看到 should have+p.p. 就翻成「本來應該做」。 四、混合假設:條件與結果分開看 兩個子句的時間不一致時,使用混合假設。動詞形式由各子句自己的時間與語意決定。 時間關係條件子句主要子句 過去條件影響現在結果If+had+p.p.would/could 等+原形動詞 現在或持續的狀態,影響本應已完成的結果If+過去式/werewould/could 等+have+p.p. 例如 If he were truly sorry, he would have apologized by now. 條件是假設他現在確實感到抱歉;結果是他到現在應已道歉。因此前面用 were,後面用 would have apologized。 by now 表示「到現在為止」,在上述語境中指出預期完成的結果;它本身不代表所有句子都必須使用 would have+p.p.。縮寫 she'd have apologized 中的 'd 是 would,因為後面接 have+p.p.。 五、But for:用名詞片語表達條件 But for+名詞 表示「要不是有……」,可代替完整的 if 子句。Without+名詞也可在適當語境中表達相近的假設條件。 現在的假設:But for your support 相當於 If it were not for your support。 過去的假設:But for your support 相當於 If it had not been for your support。 But for 本身沒有時態,必須從上下文判斷。若說的是「當時若沒有協助,本來會失敗」,主要子句應用 would/should have failed;then 在此指過去的「當時」。 六、省略 if 的倒裝 條件子句可使用 were、過去完成式的助動詞 had,或 should 形成倒裝:省略 if,再將該字移到主詞前面。 一般條件形式倒裝形式用途 If I were wealthyWere I wealthy現在的反事實假設 If I had preparedHad I prepared過去的反事實假設 If you should need assistanceShould you need assistance未來萬一需要協助 Should 倒裝不等於現在反事實假設,常表示未來的偶發情況。若主詞後直接接 a millionaire 等名詞作補語,須有 be 動詞,應選 Were;若表達「當時若知道」,則用 Had+主詞+known。 七、as if/as though:彷彿如此 as if/as though 表示「好像、彷彿」。當子句描述與現在事實相反的情況,用過去式;be 動詞在正式假設用法中選 were。例如 She acts as if she were the manager. 表示她的舉止彷彿自己是經理,實際上並不是。 若假設的是更早發生的事,可用 had+p.p.。判斷重點是子句事件與上下文的時間關係,不能單看主要子句為現在式,就把 as if 後面也改成現在式。as if 若描述可能為真的情況,也可使用一般直述時態。 常考陷阱 把現在完成式當成過去假設:has listened、has not met、have had、has had 都不是 had+p.p.。已確定是過去反事實條件時,應選過去完成式。 只憑一邊就套公式:would have+p.p. 常搭配 had+p.p.,但混合假設可能搭配 were。先確認條件是否為現在或持續的狀態。 把過去結果寫成 would go、should fail:若結果明確發生在昨晚或過去當時,須用 have+p.p.。但時間詞出現在條件子句時,仍須另外判斷結果時間。 混淆 would not have 與 would not have had:前者可接名詞,表示「不會有」;後者才表示過去本來不會擁有。 誤選進行式:should be going、could be marrying 表示進行中的動作,不能取代語境所需的過去完成結果。know 表示「知道」時通常不用進行式,Were I knowing 不合此處用法;但 were 後接 V-ing 並非一概錯誤。 倒裝混用 if:選定倒裝形式後不保留 if;一般語序的 If I were 則完全正確。 用 would be、can win 取代條件所需的形式:本單元的一般反事實條件應用 were、won 等形式,不能直接照主要子句放入 would。這不代表所有含 if 的句子都禁止使用 would 或 can。 把 were to 當成過去完成式:were to+原形動詞常用於未來假設,不能取代過去反事實條件所需的 had+p.p.。 記憶口訣 「現在退一格,過去用完成」:現在假設用過去式,過去假設用 had+p.p.。 「結果現在接原形,結果過去 have 分詞」:情態助動詞後的形式,要跟結果時間配合。 「Were、Had、Should 往前移,省掉 if 才倒裝」。 「兩邊時間分開看,混合假設不硬套」。