一、概说
英语有三种语气,即陈述语气、祈使语气和虚拟语气。陈述语气用于陈述事实、提出看法或问题等,祈使语气用于表示请求、命令或警告等,虚拟语气则表示假想或主观愿望:
He is honest. 他很诚实。(陈述语气)
Don’t be late next time. 下次别迟到。(祈使语气)
If I were you I wouldn’t go. 我要是你,我就会去。(虚拟语气)
I wish I had a lot of money. 要是我有很多钱就好了。(虚拟语气)
二、带虚拟条件的虚拟语气
1. 真实条件句和非真实条件句
条件句有真实条件句和非真实(虚拟)条件句两种。真实条件句所表示的假设是有可能发生的,而非真实条件句则通常表示一种假想,与事实相反或不大可能会发生:
If I have time, I will go with them. 假若我有时间,我就同他们去。(陈述语气)
If I were you, I would go with them. 假若我是你,我就同他们去。(虚拟语气)
2. 虚拟条件句的三种基本类型
(1) 若与现在事实相反,条件从句的谓语用过去式(be通常用were),主句谓语用“should (would, could, might)+动词原形”:
If you took a taxi,you’d get there quicker. 如果你坐出租车去,你可以快一点到那里。(但你不坐)
If I knew her number I could ring her up. 要是我知道她的电话号码,我就可以给她打电话了。(可惜我不知道)
(2) 若与过去事实相反,条件从句的谓语用过去完成时(had+过去分词),主句谓语用“should (would, could, might)+have+过去分词”:
If I’d left sooner,I’d have been on time. 要是我早点动身,我就准时到了。(但我动身太迟了)
If we had found him earlier we could have saved his life. 要是我们当时早点找到他的话,我们就可以救活他。(可惜我们找到他太晚了)
(3) 若与将来事实相反,条件从句的谓语用过去式(be通常用were),主句谓语用“should (would, could, might)+动词原形”:
If he went,would you go too? 如果他去,你也去吗?(大概他不会去)
If I asked him,I’m sure he’d help us. 如果我向他提出要求,肯定他会帮助我们。(不过我不打算这样做)
注:① 主句谓语中的should主要用于第一人称后。would, might, could的大致区别是:would表示结果,might表示可能性,could表示能力、允许或可能性。比较:
If you tried again you would succeed. 要是你再试一试,你就会成功的。(would表结果)
If you tried again you might succeed. 要是你再试一试,你可能会成功的。(might表可能)
If you tried again you could succeed. 要是你再试一试,你就能成功了。(could表能力)
② 条件从句的谓语动词为be时,不管其主语为单数还是复数通常都用were,但在口语或非正式文体中的单数第一人称和第三人称后,也可用was,不过在 If I were you这样的表达中,通常还是以用were为宜。
③ 有时条件从句用would表示愿意:
If he would live on with me, I would be his better half. 要是他还愿意跟我过,我仍会做他的妻子。
④ 对于与将来事实相反的情形,请注意以下几点:一是这里说的与将来事实相反,实为对将来情况的推测;二是此用法中的条件从句谓语除用过去式外,有时也用“should+动词原形”(表示可能性极小,常译为“万一”)或“were to+动词原形”(表示与将来事实相反的假设);三是当条件从句使用“should+动词原形”这样的谓语时,主句谓语除可用“should (would, could, might)+动词原形”这样的虚拟语气外,也可用陈述语气或祈使语气:
If it should rain tomorrow, don’t expect me. 万一明天下雨,就不要等我了。
I should see him, I’ll tell him. 万一我见到他,我就告诉他。
3. 错综时间虚拟条件句
所谓错综时间虚拟条件句即条件从句与主句所指时间不一致,如从句指过去,而主句即指的是现在或将来,此时应根据具体的语境情况,结合上面提到的三种基本类型对时态作相应的调整:
If it had rained last night, the ground would be wet now. 要是昨晚下过雨的话,现在地面就会是湿的。
You would be much better now if you had taken my advice. 假若你当时听我的话,你现在就会好多了。
注:条件从句用 if I were…时,既可指现在也可指过去。如:
If I were you, I would go. 假若我是你,我就去。
If I were not busy, I would have come. 假若我不忙,我早就来了。
也可用 if I had been you也表示过去:
If I had been you,I’d have taken the job. 我要是你,我就接受那份工作了。
4. 含蓄虚拟条件句
所谓含蓄虚拟条件句即指将条件从句隐藏在上下文一定的短语中的一类条件句:
(1) 将条件隐含在不定式短语中:
I should be happy to go with you. 如果能与你一起去,我将很高兴。(=I should be happy if I could go with you.)
To have studied harder, you would have passed the examination. 你学习更用功些,你早就考及格了。(=if you have studied harder, you…)
(2) 将条件隐含在分词短语中:
Born in better times, he would have been a scholar. 如果出生在好时代,他早就成为学者了。(=If he had been born in better times, he …)
Failing this time, what would you do? 假若这次失败,那你怎么办?(=If you failed dthis time, what…)
Walking alone in the dark, Mary would be terrified. 要一个人单独在黑暗中走,玛丽会感十分害怕。(If Mary walked alone in the dark, she…)
(3) 将条件隐含在介词短语中:
Without air, no one could live. 没有空气,人就不能活。(=If there were no air, no one could live.)
But for his help, he would have failed. 要不是有他的帮助,他就会失败了。(=It it hadn’t been for his help, he would have failed.)
(4) 将条件隐含在名词短语中:
A true friend would not have betrayed me. 若是真正的朋友,就不会背弃我。(=If he had been a true friend, he would…)
A few hours earlier, and you would have seen the famous writer. 要是你早来几个小时,你就见到这位著名的作家了。(If you had come a few hours earlier, you…)
(5) 将条件隐含在某些连词(如or, or else, otherwise等)中:
I didn’t know that he was a cheat, or else I wouldn’t have believed him. 我不知道他是个骗子,不然我也不会相信他了。(or else=if I had known he was a cheat))
I’m really very busy, otherwise I would certainly go there with you. 我真的是太忙了,不然我就会同你一道去了。(otherwise=if I were not so busy)
(6) 将条件隐含在定语从句中:
Anyone who had seen that painting might have taken it for a photo. 凡是看过那画的人,都可能把它看成是照片。(=If anyone had seen that painting…)
(7) 将条件隐含在一定的上下文中:
Don’t bother to read all these papers. It would take too long. 不要费事看所有这些文件了,那会花太多时间。(=…If you read all these papers, It would take too long)
5. if it weren’t [wasn’t] for与if it hadn’t been for。这是两个很常用的虚拟语气句型,其意为“若不是(有)”、“要不是有”:
If it weren’t for water, no plant could grow. 要是没有水植物就无法生长。
If it hadn’t been for the doctor, he would have died. 要不是医生救了他,他就会死了。
注:(1) 此句型有可用but for, without等替换:
If it hadn’t been for [But for, Without] your assistance we wouldn’t have succeeded. 要不是有你帮忙,我们是不会成功的。
(2) 原则上说,if it weren’t [wasn’t] for 用于谈论现在的情况,而if it hadn’t been for 用于谈论过去的情况。但实际上if it weren’t [wasn’t] for有时也可用于谈论过去的情况:
If it were not for their help, we couldn’t have got over the difficulties. 要不是他们帮助,这些困难我们不克服不了的。
6. 几类省略的虚拟条件句型
(1) 省略连词if。有时可将条件从句的连词if省略,但此时应用倒装句型,即将从句中的were, should, had 等提到句首:
Were I Tom, I would refuse. 如果我是汤姆,我会拒绝。
I will go, should it be necessary. 假若有必要,我会去的。
Had it not been for the bad weather we would have arrived in time. 若不是天气坏,我们就准时到达了。
注:① 若条件从句为否定句,否定词not应置于主语之后,而不能与were, should, had 等缩略成Weren’t, Shouldn’t, Hadn’t而置于句首。
② 有时省略if后提前的had不是助动词:
Had I time, I would come. 假若我有时间,我会来的。(=If I had time…)
(2) 省略条件句的主语和其后的动词be。若主从句主语一致,且谓语部分包含有动词be,通常可将主语和动词be省略:
If repaired earlier, the tractor would not have broken down. 要是早点儿修一下,拖拉机就不会抛锚了。(=If it had been repaired earlier…)
(3) 省略“it+be”:
If necessary, I would send more farm-hands to help you. 如果需要的话我会派更多的民工去你。(=If it is necessary...)
(4) 省略整个条件从句。这样的省略通常需要借助一定的上下文,即省略条件从句后,所剩下的主句的意思在一定的上下文中意思是清楚的:
I might see her personally. It would be better. 我可以亲自去看她,这样好一些。(=…If I saw her personally, it would be better.)