smart.fm で更新してきた、旧チャンネルブログの文法問題をお届けします。
今週は解答編です。
参加して下さった方ありがとうございました。
では解答と解説に行きましょう。
問題:あなたはある人と待ち合わせをしています。でもちょっと遅刻してしまいました。その後、ようやく待ち合わせ場所に到着しました。このときあなたは相手の人に英語で「待たせてしまってごめんなさい」と言う場合、次のどちらが適切でしょうか?
1.I am sorry to keep you waiting so long.
2.I am sorry to have kept you waiting so long.
解答:2
解説
違いは to 以下ですね。
1は to keep ~
2は to have kept
皆さんになじみがあるのは 2よりも1のほうではないでしょうか? 2みたいに「to have+過去分詞」になるのはなんかなじみがないから正しくないように見えるかもしれません。
2には名前がついています。【to have 過去分詞】の塊は「完了不定詞」と言います。「完了形」と聞くと、それだけで逃げ出す人がいます。日本語には完了形がないせいか、それだけで嫌がる人が大勢いるようです。
ただ実は「完了不定詞」は名前に「完了」が付いていますが、「完了」のイメージは全くありません。
実は【to have 過去分詞】の「完了不定詞」には…「述語動詞の時制の1つ前を表す」という役割があります。
1も2も出だしは
I am sorry
ですね。主語は I で 動詞は am ですね。主語がちゃんとあって、かつこういう文の中心となる動詞が「述語動詞」と言います。
am は was じゃないから「現在形」ですね。つまり「I am sorry」は「(今)すみません」と謝っています。
で!
to have kept は
【to have 過去分詞】の「完了不定詞」ですね。これは「述語動詞の時制の1つ前を表す」という役割があるのです。
もう「you」は待っていないですよね。私は到着したのですから。
つまり「you」は
→「過去に待っていた」のであって
→「今は待っていない」のです。
であれば、「過去に待ってた」を表す→to have kept you waiting so long、という「完了不定詞」を使うほうがふさわしくなります。
なお、1のように
I am sorry to keep you waiting so long.
だと、「完了不定詞」ではないので→ to keep you waiting so long.は am と同じ時制を表します。つまり「あなたは今も待っている」ことになってしまうのです。
もし「まだ you を待たせている」のなら、→I am sorry to keep you waiting so long.になります。
ですが、「I (私)」は到着し、「you(あなた)」ははもう待っていない。待っていたのは過去のことなので
→I am sorry to have kept you waiting so long.
という表現になります。
いかがだったでしょうか? それではまた来週!
問題編
http://q-eng.com/diary/23181