Ans:
假设法的用法:
1、假设的部分我们可以称之为条件子句
与事实相反的句子是由时态往前推一级,
如:条件子句而言,反现在用过去式,反过去用过去完成式,
与现在事实相反里的Be动词只用were
因此,若相反于过去事实,则应用过去完成式:
If+S+had+V-en, S+should (would, could, might)+have V-en....
=Had+S+V-en S+should (would, could, might)+have V-en....
例:如果当时我知道你要来,我会做个蛋糕给你。
If I had known you were coming, I should have baked a cake.
=Had I known you were coming, I should have baked a cake.
2、遇到主要子句和条件子句所反的事实是属于不同时态时,必须分别依所反的时态来写。
因此,如果条件句相反于过去,而结果子句(主要子句)相反于现在,则改用:
If+S+had+V-en, S+should (would, could, might)+V…now (today, this year, this time).
=Had+S+V-en, S+should (would, could, might)+V…now (today, this year, this time).
例:假使你去年更用功研读英文的话,你现在或许就熟练它了。
If you had studied English more industriously last year, you might be proficient in it now.
=Had you studied English more industriously last year, you might be proficient it now.
由上可知您问的
○ If it had rained a lot last month, we would have enough water now.
× If it had rained a lot last month, we would have had enough water now.
以上参自:
http://www.wretch.cc/bl.../13808669 http://www.nani.com.tw/nani/.../sleng_d.jsp (ps:以上解释若有错误,烦请高手不吝指正,谢谢。)