• ベストアンサー

仮定法

If you haven't received the book you ordered by tomorrow, please let us know. という文で、どうしてhaven't received となるか教えて下さい。If節の中でどうして現在完了を用いることができるのですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Kilgore
  • ベストアンサー率45% (10/22)
回答No.1

条件のif節や時の接続詞(whenなど)の節中では 未来のことでも現在形にする、というのが基本ですが、 現在完了も現在形の一種なので、使うことができます。 You can go out when you have finished the homework. ちゃんと宿題やったら出かけてもいいよ。 つまり、「ちゃんと届かなかったら連絡してください」という意味で、現在完了になっているのでしょう。 ですから、この文は仮定法ではなく、通常の条件の文だと思われます。

yutaka20000
質問者

お礼

あっ!!なるほど!時を表わす副詞節だったんですね!仮定法かと勘違いしてました。ありがとうございました!

その他の回答 (1)

回答No.2

アメリカに35年ほど住んでいる者です。 文法的には説明できませんが、こう言うことです。 つまり、注文した本が明日までに届いたと言う事が完了していなかったら、連絡を下さい。と言う事なんですね。 何かすごいこじつけのように聞こえますが、今から明日までにという期間中に受け取らなかったら、ということでhave not receivedと言う形をとるんですね。 ですから、have not received sinceは過去から今までのこと、have not received byは今から将来まで、というように覚えてしまっていいと思います。 口語では、ここを現在形で、If you do not receive the bookと言ってしまいます。 これでいいでしょうか。 分からない点がありましたら、補足質問してください。

yutaka20000
質問者

お礼

ありがとうございました!現在完了を用いている理由がよく分かりました。万事解決です!感謝してます!

関連するQ&A