She wouldn't sing it if she hadn't learnt it.
按传统语法,上句是错综虚拟语气。
按现代语法,上句是假设意义(非虚拟)表示方法。
我认为上句属于非真实条件句。
章振邦的新编高级语法书上510页,说unless在意义上相当于if...not,因此,在有些场合,由if 引导的否定条件分句(主要是真实条件分句)
往往可为unless引导的肯定条件分句所取代,例如:
She wouldn't sing it if she hadn't learnt it. = ...unless she had learnt it.
我的困惑是: 章振邦这里讲得对吗? She wouldn't sing it if she hadn't learnt it. - 是真实还是非真实条件分句?
这里不能用unless替换,对吗?
麻烦专家老师详解,另外,麻烦老师顺便总结一下unless和if...not互换的必要条件有哪些?
你犯了一个初学者常犯的错误。初学者在学习了虚拟语气之后(本解答的虚拟语气指传统语法的虚拟语气概念),一见到if从句用了过去形式,主句用了情态动词的过去式,便不假思索地立刻认为这是虚拟语气,表示与事实相反的假设,而完全忽略了这个同样的动词形式完全有可能是陈述语气,表示可能的事实。
She wouldn't sing it if she hadn't learnt it.
没有上下文的情况下,这个句子有歧义。可能是陈述语气,也可能是虚拟语气。
语境1 :
我了解主语“她”,知道她学过“我心永恒”这首歌。现在正在开party,有人邀请她唱这首歌。我身边的人担心她不会唱而拒绝,我说了这句话,我表达的意思是,她会唱的,因为她学过这首歌。She will sing it because she has learned it. 但我没有从正面说事实,而是作了与事实相反的假设。所以在这个语境下,这个句子就是虚拟语气(非真实条件句)。
语境2 :
我在给别人讲述上个星期公司开party的事情,我用过去时态讲述:有人邀请公司小王唱“我心永恒”这首歌。我身边的人让我猜小王会不会答应唱。我对小王不太了解,所以,I told the man beside me that she wouldn't sing it if she hadn't learnt it/unless she had learnt it.
这就是陈述语气了,丝毫没有与事实相反的味道。
所以,章振邦说这个句子可以改用unless引导从句,并没有错误。产生误解的原因是你不考虑语境,试图仅凭一个单句去判断一个条件从句是真实条件还是非真实条件,你难免会判断错误的。
至于unless与if not什么时候不可互换,百度和答疑网都有现成的解答,你自己搜索吧。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!
unless 引导的肯定条件状语从句通常可以改为 if 引导的否定条件状语从句。如:
I want you to keep working unless I tell you to stop. (=... if I don't tell you to stop.) 如果我没说让你停,你就得继续工作。(摘自《薄冰英语惯用法词典》p.1245)
She wouldn't sing it if she hadn't learnt it. = She wouldn't sing it unless she had learnt it.