重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

if 構文の使い方に悩まされています。基本的な文法は一応知っているつもりなんですが、いざ使ってみる(特にmix condition)といろいろと迷ってしまいます。

condition 0
when (if) i get to Japane, i go shopping

condition1
if it rains tomorrow, i will stay at home

condition2
if i were you, i would breake up with your girlfriend

condition3
if i had have a lot of money, i would not have work hard.

mix condition
if i had been bone in America, i would be able to speak Eng like netives.

if がwhenに置き換えられる時は"will"は必要ないと教わりましたが、when i get to japan, i will go shoppingというふにwillを使うことはできないのでしょうか?またif it rains, I would stay at homeとか、if i had been bone in America, i would be able to speak Eng like netivesも"i would be able to speak Eng like netives"の部分をi would have been able to speak ...と置き換えてもいいんでしょうか?また、このif 構文のうまい理解の仕方はありますか?if の持つニュアンスが掴めればいいのですが,,,

A 回答 (3件)

はじめまして。



1.<when i get to japan, i will go shoppingというふにwillを使うことはできないのでしょうか?>

可能です。ただ、when節の中で「日本に着くのが未来であること」を提示した方がいいと思います。例:
When I get to Japan next month, I will go shopping.

2.<またif it rains, I would stay at home>

不可能です。理由は以下の2点から。
1)wouldの用法が、willの過去の用法(過去の意志・主張・習慣・推測)とみる可能性:前提節のIf節が過去形でありませんから、主節のwillに過去の時制の一致は起こり得ません。
2)wouldの用法が、仮定法帰結の用法とみる可能性:If節で仮定法過去、または仮定法過去完了が使われていないので、このwouldを仮定法帰結とはなり得ません。


3.<if i had been bone in America, i would be able to speak Eng like netivesも"i would be able to speak Eng like netives"の部分をi would have been able to speak ...と置き換えてもいいんでしょうか?>

可能です。最初の文は前提節が仮定法過去完了、帰結文が仮定法過去の時制になっています。それは前提節が「過去に反する事実」、帰結節が「現在に反する事実」を表しているからです。
訳「(過去)アメリカに生まれてたら、(今)英語がネイティブみたいに話せるのになあ」=(実際は(過去)アメリカに生まれてないので、(今)英語がネイティブみたいに話せない)という過去+現在の事実があります。

ご質問のように、帰結文をwould+have+ppと仮定法過去完了にすると、帰結文も「過去に反する事実」になります。
訳は「(過去)アメリカに生まれてたら、(過去)英語がネイティブみたいに話せたのになあ」(実際は(過去)アメリカに生まれてないので、(過去)英語がネイティブみたいに話せなかった)という過去+過去の事実があります。この文だと、「今は英語がネイティブみたいに話せる」と想像できます。

4.<また、このif 構文のうまい理解の仕方はありますか?>

(1)If節には直説法(条件法)の仮定用法と仮定法の使い方を区別しなければなりません。
直説法:If he is not ill, he will come.
(彼が病気かどうかわからないが)「彼が病気なら来るだろう」
現在彼が病気かどうかはわからないが、病気と仮定した文

仮定法:If he were not ill, he would come.
(実際は彼は病気だが)「彼が病気なら来るだろうに」
現在彼が病気なのは事実だが、そうでないことを仮定した文

(2)If節が副詞節か名詞節かによって時制が変わることがあります。
副詞節:時や条件を表す。
I’ll stay at home if it rains tomorrow.
「明日雨が降れば、家にいるだろう」
副詞ですから、文の構成要素にはならないので、この文型はSVの第1文型になります。

名詞節:「~かどうか」と訳します。(このif=whether)
I don’t know if it will rain tomorrow.
「明日雨が降るかどうかはわからない」
名詞ですから、文の構成要素になり、ここではknowの目的語Oとして、文型はSVOの第3文型になります。

以上が大まかなIfの用法ですです。仮定法の大まかな説明は2でしましたが、詳細はここでは長くなりますので、参考書をもう一度見直してみて下さい。また疑問点が生じたら、新たに質疑にて例文を添えてご質問してみては如何ですか?頑張って下さい。
    • good
    • 0
この回答へのお礼

はじめまして。お礼遅れてすみません。if 構文の事細かな説明ありがとうございました。どうもmix-conditionになってくると、頭がこんがらがってしまうんですよね。それと、どうも日本語で考えてしまうので、さらにおかしな文章ができてしまうんですよ。直説法(条件法)の仮定用法を整理して、うまく使って行きたいと思います。ありがとうございました。

お礼日時:2007/04/25 00:51

condition 0


when (if) i get to Japane, i will go shopping
むしろwillがあるほうが自然。

condition3
if i had had a lot of money, i would not have worked hard.
-->(事実)I have worked hard (until now).

mix condition
if i had been bone in America, i would be able to speak Eng like natives.
-->(事実)I can't speak English like natives now.

現実と反対のことを言うのが仮定法なので would be / would have は現実の反対に置き換えていくわけです。
    • good
    • 0
この回答へのお礼

お礼遅れてすみませんでした。簡潔に、分り易い回答ありがとうございました。参考にさせていただきます。ありがとうございました。

お礼日時:2007/04/25 00:55

まず、スペルミスがありますね。


Japane->Japan
breake->break
bone->born
netives->natives
あと、have work->have to workでしょう。

「if構文」で一まとめにしないほうがいいです。0,1と2,3,mixは基本的に違います。0,1はただ単に「もし」という意味です。
2,3,mixは仮定法です。仮定法とは、「ありえない仮定」をあらわします。ifのあとの動詞や助動詞を過去形にします。

When i get to japan, i go shopping.
は、「日本についたら(習慣的に)買い物に行く」
When i get to japan, i will go shopping.
は「日本についたら、買い物に行くことにしよう」
という風に意味が違ってきます。現在形は「習慣」を表すのです。

If it rains, I will stay at home.
は「雨が降ったら、家に居よう」ですが、
If it rains, I would stay at home.
は「雨が降ったら、家にとどまろうかなぁ~」とwillの意味が弱まっただけで、過去の意味にはなりません。意味が通じなし、時制の一致に反するからです。

If I had been born in America, I would be able to speak English like natives.も意味で考えてください。be able toはご存知の通り「~できる」です。完了形を使わなくても「~できる」は「~できる」で状態の意味になるのでhave been~はいりません。というより、be able toにこだわらず
If I had been born in America, I could speak English like natives.とした方がずっと簡潔でいいのではないでしょうか。
    • good
    • 0
この回答へのお礼

お礼遅れてすみません。まず、スペルミスの指摘、ありがとうございました。それと丁寧なグラマー解説、理解しやすくとても役に立ちました。

そうなんですよね、できるだけ英文は簡素に仕上げ相手に伝えるのが基本ですよね。精進します。ありがとうございました。

お礼日時:2007/04/25 00:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!