423 keep sb./sth. from doing sth.和keep sb. doing sth.
① “阻止,制止,防止某人或某物做某事”有一种固定结构:
keep sb./sth. from doing sth.
prevent sb./sth. from doing sth.
stop sb./sth. from doing sth.
② keep sb./sth. from doing sth.中的from不可省略,如果省去from,则为keep sb./sth. doing sth.,表示“使某人一直做某事,让某人持续做某事”,这种用法的keep可用have代替。
The heavy rain kept us from going out. 大雨使我们不能出去。
She could hardly keep herself from crying. 她无法控制自己不哭。
He kept us waiting for over an hour. 他让我们等了一个多小时。
She kept them laughing all the way. 她使他们笑了一路。
I'm sorry to have kept you waiting so long. 很抱歉让你们久等了。
③ prevent/stop sb./sth. from doing sth.中的from可以省略,意思不变,但在被动语态中不可省略。
Nothing can prevent him(from)doing that. 没有任何东西能阻止他做那件事。
You have to prevent such a thing(from)happening again. 你应该防止这样的事再发生。
Such a thing has to be prevented from happening again. 这样的事应该阻止再发生。
You should stop him(from)smoking. 你应该阻止他抽烟。
He should be stopped from smoking. 他应该被阻止抽烟。