[#49241] dRuby IPv6 — masa <masap.hat@...>
スイスの畠山です。
6 messages
2013/03/01
[#49247] Ruby 1.9系 on Windows8 にて Kernel#gets でマルチバイト文字入力の不具合 — Takeshi Iogawa <alpha@246.ne.jp>
いおがわです。こんにちは。
4 messages
2013/03/02
[#49254] forループ内の変数のスコープに関して — 村上 友洋 <tomohiroz@...>
初めまして。
5 messages
2013/03/06
[#49300] 例外を飛ばすThread内ではpassをしないとそのThreadはjoinできないことがある? — Isamu Mogi <dyob@...>
こんにちは。茂木と申します。
6 messages
2013/03/27
[#49301] Re: 例外を飛ばすThread内ではpassをしないとそのThreadはjoinできないことがある?
— KOSAKI Motohiro <kosaki.motohiro@...>
2013/03/27
(3/27/13 8:51 AM), Isamu Mogi wrote:
[ruby-list:49254] forループ内の変数のスコープに関して
From:
村上 友洋 <tomohiroz@...>
Date:
2013-03-06 06:20:15 UTC
List:
ruby-list #49254
初めまして。
メーリングリストに初投稿させていただきます 村上 と申します。
変数のスコープに関して質問というか気になる点がありましたのでこのメールを出させていただきました。
以下のコードを実行したところ
#----------------
a=4;
for a in 0..10
print "a="<<a.to_s<<"\n";
end;
p a;
#----------------
#実行結果
$/usr/local/bin/ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin12.2.1]
$/usr/local/bin/ruby sample.rb
a=0
a=1
a=2
~
a=8
a=9
a=10
10
という結果が出力されました。自分としては変数aの最後の出力値は4であることを期待していたのですが、10となってしまいました。forループ内で使用される変数の有効範囲をループ内だけに限定させることはできないのでしょうか?
似たようなことをC言語で組んだところforループ内の変数の宣言の仕方によって結果が異なりました。
#-------------------
int a=4;
for(int a=0;a<10;a++){
printf("a=%d\n",a);
}
printf("%d\n",a);
#-------------------
#実行結果
a=0
a=1
a=2
~
a=8
a=9
4
#--------------------
int a=4;
for(a=0;a<10;a++){
printf("a=%d\n",a);
}
printf("%d\n",a);
#---------------------
#実行結果
a=0
a=1
a=2
~
a=8
a=9
10