(参见 but that , no...but)
I would have come sooner but I ____ that they were waiting.
A. haven't known B. hadn't know C. don't know D. didn't know
在一般的非真实条件句中,表示虚拟语气的谓语动词的时态是相互呼应的。例如:
If I had married her, I would have been unhappy.
要是那时我跟她结了婚的话,那我是很不幸的。
但是,上面试题的正确答案为 D(didn't know),这是为什么呢?
首先应弄清这种句型的特点:but 或 but that 引出的分句描述的是真实情况,but 前的分句描述的是非真实的情况(假想的情况)。but 句所描述的情况阻碍了前面的句子的情景得以发生或实现。换言之,but 句的反面意义便是一个虚拟条件(倘若不)。
-
Franklin would gladly have spent the rest of his days in quiet study and research. But he was a very important person now, and the country needed him for public service. 富兰克林本来是会在安静的研究中愉快地度过他的后半生的,但是他当时是一个非常重要的人物,国家需要他担任公职。
-
We would have avoided making such a mistake, but we didn't follow his sound advice. 我们本来可以不犯这样的错误,只是我们没有接受他的忠告(倘若我们接受了他的忠告,我们本来是可以避免这样的错误的)。
-
They might have left earlier, but the car wasn't ready. 要是汽车准备好了的话,他们本可能早点儿离开的。
-
I would have written before but I have been ill. (Yeats) 要不是我病了的话,我会在此之前写信的。
由这些实例可以很容易理解,为什么在 but 句中使用陈述语气,而在它前面的句子里使用虚拟语气了。
请做下面的试题:
-
I ____ abroad but I had no money. A. would go B. would have gone C. would be going D. will have gone
-
“What happened to the flower I gave you?” “The flower ____ well, but I did not water it.” A. would grow B. might grow C. would have grown D. should have grown (参见 but that )