>>917
CやJavaと違って、Rubyではローカル変数を明示的に宣言することができません。
そのため、>917 の例でいえば
s='yo!'
1.times do
puts(s = 'ho!')
end
puts s
「s='ho!'」の変数sがブロック内だけのローカル変数であることを指定することができません。
Cでも、ブロック内での変数宣言がなければRubyと同じようなスコープになります。
char *s = "yo!";
for(int i = 0; i < 1; i++) {
 char *s;   /* ← これがなければ、ブロックローカルにはならない */
 s = "ho!";
}

という説明でどうでしょう?>>911