なんか知り合いが、↓を読んで、全く判らんが何だこれって言ってたんで解説したのメモっとく
英語が読めるようになるには英語を読むしかないが『日本人の英語』シリーズは読む価値あると思う - しいたげられたしいたけ
ぶっちゃけ、「the」って言ってんのにそれが自明以外で説明がなかったらキレて良い。
「オレの言ってる姉は、例のアレよアレ、あのアネよ」って制限するって意味がまずある。
そのまんま引用するけど、ここで「older sister(姉)」って言ったあとに、
なんかシカゴとか言ったな、姉の説明ねって、英語話者はボーっと聞いてたら思う。
これを聞いた日本人は、どう思う?
『そんなん、聞いてる相手によって違うに決まってんじゃねーか』が正解。
この状況だと、父は「ああ、2人の姉のうち、シカゴの方だってのを伝えようと制限したんだな」って考えるわけだ。
まあ、考えないけど。どっちの姉ってああシカゴの方のねって理解するだけで。
この状況だと、友達は「ほーん、姉ちゃんシカゴに住んでんだ」と素直に思うだろう。
おいおい、前提条件で制限用法か非制限用法か違うってナニソレ、とか思うだろ?
(厳密に言うと、『日本人の英語』での説明にも『前提条件無しで短文を読むなら』ってのが常についてると思って読まないといけないハズ)
そうすっと、「どういう姉」かを伝えるやり方があって、
って書いてあったら、日本人は「ほーん、じゃあシカゴに住んでない姉も居るのね」って考えるから、
って意味である、ってのが「I visit my older sister who live in Chicago.(コンマなし)」の解説なワケよ。
このまんまだと判り難いだろ?
疑似C言語あたりにすると、こんな感じ。
#define CHICAGO 1 int sister[3] = {45, 43, 41}; int who; who = CHICAGO; printf("%d", sister[who]);
まあ結果は43が出てほしいよね。
シスター配列を、CHICAGOで指定してんのね。sisterを指定するのに使う変数がwho。
ならこんな感じ
#define CHICAGO 1 int sister = 43; int who; printf("%d", sister); who = CHICAGO; printf("%d", who);
で、その後、どこ住んでるかの番号が出力される感じ。シカゴだ。
英語のカンマは、「そこで一回出力してくれ」って命令だと思うのがコツ。
カンマが入っていないwhoは、ワザワザそれを伝えて限定しようとしてると読むべき。