had been 在此较 had gone 好
B较好,其义为“曾去过”,后接 before 亦较自然。 A虽也不能算错,但 had gone 没有已离开教室的含义,其后接 before 令人有点突然 (abrupt)的感觉。
B较好,其义为“曾去过”,后接 before 亦较自然。 A虽也不能算错,但 had gone 没有已离开教室的含义,其后接 before 令人有点突然 (abrupt)的感觉。
这是一个老问题,许多辞书都谈过。严格说来,这里应用 long before,因为 had died 发生在 thought 之前。然而实际上,许多英美人倾向于用 ago。
这里用过去完成时had died是因为它发生在主句谓语动词had thought之前。虽然that从句可以译作“他至少已死了20年”,但并无延续性。
汉语可以说“他已死了10年”,但在英语中却不可说“He has died for ten years.”,因为它的意思不是“他死了10年”,而是“他死的动作已延续了10年”,这显然不是说话人的本意。那么应该如何表达才对呢? 有下面几种说法供你参考:
这里的现在完成时have discussed后接指具体过去时间的状语last night对吗?
一般语法书上讲every day只能与一般现在时连用,而这里却与现在完成时连用,这是怎么回事?
但这是不是说在英国英语中have gone一律不可以表一种经历呢? 不是的,请看下面一些句子中的have gone皆是用以表经历的英国英语:
你所举的(1)、(2)、(3)例都是正确的英语。这种现在完成时与另一现在完成时连用并一起完成的情况颇为常见,也并不难学。再如:
总的来说,现在完成时与 since 连用时,其用法有两大类:一是表持续的动作或状态,这时 since 有“自从……起一直不断地”的含义;一是表非持续的动作或状态,这时 since 的意思则是“在过去某一时间与现在之间”,没有“一直不断地”的含义。
有读者提出现在完成时如无for(经历)或since(自从)所引导的状语所修饰,其所表示的动作是否会延续下去这样的问题。
可是说话人不但尚未到达柏林,而且飞机还没有起飞,但他却用了现在完成时have flown。请问这是为什么?
这句话是正确的,因为England现在仍旧存在。但不可说“Assyria has had many able rulers.” 因为Assyria (亚述古国)早已灭亡,应改作“Assyria had many able rulers.”才对。
Copyright © 2025 | Sitemap | 鄂ICP备2020020141号-1