假設語氣如中文的「如果…就…」

假設語氣

  所謂的假設語氣就是如中文的「如果…就…」。中文的假設語氣在使用上很單純,但英文的假設語氣牽涉到時態的變化。在談英文的假設語氣時,我們可以簡單分為「可能實現的假設」、「與現在事實相反的假設」、「與過去事實相反的假設」三種。以下就針對各種假設法以及其他要注意的事逐一說明。



    * 可能實現的假設

  這一部分包括現在可能的假設與未來可能的假設。請先看下面的例子:

   1. If I have time, I read a novel every weekend.
   2. If I have time, I will read a novel this weekend.

  第1句是指一種習慣性的假設,指若有時間,我每週都會讀一本小說。第2句則是對未來的假設,表示若有空,我週末會看小說。

  在這一章裡面,時態的正確使用是很重要的。在可能實現的假設的句子中,條件的部分(即If子句)一律用現在式,不用未來式。你可以這麼理解:當我們講出如1或2這樣的話時,有種已經假設條件句成立的感覺,然後才會發生主要子句(如1句中的I read a novel every weekend.)所說的那件事。既然我們假設它成立,那麼即使它說的是未來的時間(如句2),也要把它當成現在的「事實」來看待,因此用現在式。主要子句的部分則視情況用現在式(說明現在的習慣)或未來式(未來要做的事)。若有需要,也可使用其他助動詞來表示,如:

   1. If it rains, you should stay home.
   2. If I have enough money, I might buy a bike next month.

另外,也可以用should來表示可能性比較小(但還是有可能實現)的假設:

   1. If anyone should come, tell him/her that I'll be back soon.

  中文類似「萬一」、「要是」的意思。此句即萬一有人來的話,跟他說我馬上回來。



    * 與現在事實相反的假設

  表示一句話所描述的事與現在的事實相反。如:

   1. If I were a millionaire, I could buy you a car. (I am not a millionaire, so I can't buy you a car.)
   2. If he were a seven-footer, he could dunk easily. (He is not a seven-footer, so he can't dunk easily or can't dunk at all.)
   3. If I knew him, I would ask him for help. (I don't know him, so I don't ask him for help.)

  我們看看第1個句子。事實是I am not a millionaire, so I can't buy you a car.,所以條件句會變成如果我是富翁我就可以買車給你。原來的I am not a millionaire要變成If I were a millionaire,I can't buy you a car變成I could buy you a car.。如果你對這種句子不熟,要寫之前可以像這樣先想想如果是事實的話該怎麼說,然後改成過去時態,再把否定和肯定照意思改一下,變成與事實相反的假設。

  這一部分的條件句和主要子句都與現在的事實相反,這種句子要用過去式來代替現在式。另外,若條件句中有be動詞,不管主詞為何,一律用were不用was(在非正式的場合中還是會有人用was)。

  從這部分開始,動詞的部分都要特別注意,我記的方法是「往前推一個時態」。即與「現在」事實相反就用「過去」式,與「過去」事實相反就用「過去完成」式。

  有些文法書會寫與現在事實相反的句子中,主要子句要用would/could + V,但這裡我把它看成「would/could + V = 過去」,因此就視同使用過去式,如此一來不管條件句或主要子句都是過去式了。只是在這類條件句中,主要子句要有would/could。至於你要用哪一種方法記,就看你自己了。



    * 與過去事實相反的假設

  表示條件句所描述的事與過去的某件事實相反。如:

   1. If you had been there, you could have helped me. (You were not there, so you didn't help me.)
   2. If I had studied hard, I would not have failed. (I didn't study hard, so I failed.)

  第1句是說如果你當時在那裡,你就可以幫我了。第2句是如果我當時有用功讀書,我就不會不及格了。條件句和主要子句都是與過去的事實相反,過去這時間往前推就是過去完成,所以這裡都用過去完成式。

  文法書通常會寫條件句用過去完成式,主要子句要用would/could + 過去分詞,我將它看成:「would/could = 過去;過去分詞 = 完成」,所以就變成條件句和主要子句都是過去完成式啦,這樣比較一致不是嗎?不過一樣要記得主要子句的部分要有would/could。



    * 混用時間

  上述與事實相反的例子中,條件句和主要子句的時間都一樣,即都是現在時間或都是過去時間,但事實上,這些時間是可以混在同一句使用的,如:

   1. If you had eaten lunch, you would not feel hungry now. (You didn't eat lunch, so you feel hungry now.)

  這句是指若你中午有吃飯,你現在(假設是下午)就不會餓了。條件句是與過去事實相反,主要子句與現在事實相反。

   1. If you had helped me, I would be successful. (You didn't help me, so I am not successful now.)

  這句是說如果你當時有幫我,我現在就會很成功。條件句是與過去事實相反,主要子句則與現在事實相反。

   1. If he were tall enough, he would have helped you get the ball on the roof. (He is not tall enough, which is a fact, so he didn't help you get the ball.)

  意思是如果他夠高,他當時就能幫你把球從屋頂上拿下來了。這裡的條件句是預設他已不會長高,算是一個現在的事實,不需要用過去完成式,主要子句則是與過去事實相反,用過去完成式。



    * 省略if

  如果條件句中有were或完成式,我們可以把if省略,但要稍作修改,如:

   1. If he were you, he would not do that. →Were he you, he would not do that.
   2. If they had worked hard, they would not have been fired. Had they worked hard, they would not have been fired.

  把if刪掉,然後be動詞或助動詞和主詞換位置就成了。