这是出自《加勒比海盗:黑珍珠诅咒》 Mullroy 的一句话.这种表达看上去不“规范”,但的确还是有人这么说话.有一种解释:if 的虚拟假设用的是过去进行时,强调说话的过程,相当于中文说的“整个是在说谎”.而主句用 wouldn't have done 也是情理之中的事,因为这个否定是真实的.
这类带有“双重否定”意味的表达方式在英语中还有很多,如 I didn't tell nobody 等,而且多出自文化程度低或社会下层人士.文学作品中出现这样的表达方式正好可以以此给角色贴上标签.
If he were telling the truth,he wouldn't tell us:估计不会有人这样说.因为在说话人的潜意识里,tell us 的行为已经发生了,所以一定会用 wouldn't have told us 的形式.
If he had told the truth,he wouldn't have told us.这是一种“有教养的”表达方式,当然可以.