[#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:49255] Re: [ruby-list:49254] forループ内の変数のスコープに関して
From:
小柳真太 <yancya@...>
Date:
2013-03-06 06:36:09 UTC
List:
ruby-list #49255
村上さん
こんにちは
小柳と申します
> ループ内で使用される変数の有効範囲をループ内だけに限定させることはできないのでしょうか?
そういう挙動を求めるとき、私なら下記の様に書きます。
#----------------
a=4
(0..10).each do |a|
print "a="<<a.to_s<<"\n"
end
p a
#----------------
do ... end や { } によるブロックをつかうと、その内側でのみ有効なブロック変数を使う事ができます。
参考 URL
http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fcontrol.html#for
2013年3月6日 15:20 村上 友洋 <tomohiroz@icloud.com>:
> 初めまして。
> メーリングリストに初投稿させていただきます 村上 と申します。
>
> 変数のスコープに関して質問というか気になる点がありましたのでこのメールを出させていただきました。
> 以下のコードを実行したところ
> #----------------
> 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
>
>
--
:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:
小柳 真太 yancya@upec.jp http://upec.jp
:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-: