Whobrokethewindows?和Whohasbrokenthewindows?這兩句意思有什麼分別?
說過去的事,英文動詞可以用過去式(pasttense),也可以用現在完成式(presentperfecttense)。不過,這兩種時式用法有點分別。
最明顯的分別,是現在完成式一般不說明事情在過去哪個時間發生,過去式則可以說明,例如:(1)HemovedtoShatinlastyear(他去年搬到沙田居住)。(2)HehasmovedtoShatin(他搬了到沙田居住)。
兩種時式的另一分別,是過去式着重「當時」,現在完成式則着重當時行動和現在的關係。例如HemovedtoShatinlastyear只是說他從前做的一件事,HehasmovedtoShatin則有「他現在已不在舊地居住」含義。又如同是說「電腦當機了」,Thecomputerhascrashed表示現在還不能用,Thecomputercrashed則是過去某一刻發生的事:電腦現在也許還用不得,也許已恢復正常。
Whobrokethewindows?和Whohasbrokenthewindows?兩句都是問「是誰把窗子打破了?」但第二句表明窗子現在還是破的,第一句則着重「當時打破窗子」這回事,不理會現在修理好了沒有。
有時,句子用過去式或現在完成式動詞,意思會很不同。例如Hewasateacherforthreeyears(他當過三年教師)是說他現在不教書了,Hehasbeenateacherforthreeyears(他過去三年都當教師)則是說他到現在仍然教書為生。