I am sorry I _______ to bring my homework here. I _______ it at home, I'd better go home for it.
正确答案是:forgot;forgot leaving。我们的老师解释说:这里要用一般过去时,而不能用完成时,这是因为现在完成时是指从过去持续到现在的情况,forgot to bring my homework 是指忘记带了书而现在已经记起来了,所以不能用完成时。
但是我的理解是:忘记带书就是没带书,那么在说话的当下“我”还是没带书,所以用完成时啊!我认为如果按班上老师的思维,应该是用 forget doing,才有现在记起来一说吧? 求专家们分析!
老师解释说,这里要用一般过去时,而不能用完成时,这是因为现在完成时是指从过去持续到现在的情况——这个说法不正确。只有当句子含有“时间段状语”时,现在完成时才表示持续到现在。
此外,你给的句子用 forgot 和 have forgotten 都正确,都表示“在过去(在当时)忘记”。如果现在仍然忘记,就用 forget。
请比较:
1. I forgot her name.
2. I have forgotten her name.
3. I forget her name.
第1、2句没有本质的区别:都是在过去(即便是刚才)忘记了她的名字,现在是否想起来,尚未可知。
第3句指现在仍然忘记了她的名字,想不起来了。
【注意】在没有明显过去时间状语的前提下,一个一次性的动作使用一般过去时和现在完成时,都可以。实际上,现在完成时和一般过去时,没有本质上的区别,都“表示过去的动作或状态”。 使用现在完成时,只是增加了一层意思:表示对现在的影响或某种结果。
【补充】 第一个选项用 forgot 没错,用have forgotten更好;第二个选项用forgot leaving不对,应改为 remember leaving(记得留在家里)。若说 forgot leaving,意思是“忘记是否留在家里”。那么,后面的 I'd better go home for it. 讲不通。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!