[#46301] 自前コンパイルしたruby1.9の$LOAD_PATHに"."が入っていない — KURODA Hiraku <hiraku@...>

こんにちは、黒田ひらくと言います。

12 messages 2009/08/20

[#46321] ファイル名について — "前川 映一" <eiichi_maekawa@...>

17 messages 2009/08/21
[#46322] Re: ファイル名について — "NARUSE, Yui" <naruse@...> 2009/08/21

成瀬です。

[#46324] Re: [ruby-list:46322 , 46323 ] Re: ファイル名について — "前川 映一" <eiichi_maekawa@...> 2009/08/21

[ruby-list:46282] Re: rubyの変数の扱いについて

From: Yousuke Takahashi <yousuket@...>
Date: 2009-08-17 07:45:53 UTC
List: ruby-list #46282
前川さん

高橋庸介といいます。
ずっとROMってて初登校です。

結論からすると

i = 0
a = 0
while i < 5
 a = a + i
 i += 1
end
puts a

が正解なのかもしれません。

>  a = a + i
としたときに最初にaがでてきて、aの中身がわからず(未定義状態)、+というメソッドがわからなく、メソッド未定義エラーになった。

上記は、最初に0と数値で初期化してあげて、これからaという変数は数値として使うよ、と宣言しただけです。
a=0 の一文だけ追加しましたが、これで
 if i == 0
   a = 0
 end
があったときと同じ結果にはなっています。

2009/08/17 16:29 に 前川 映一<eiichi_maekawa@mhi.co.jp> さんは書きました:
> 前川です。
>
> rubyは、script言語ということですが、
> いまひとつ、理解できていません。
>
> i = 0
> while i < 5
>  if i == 0
>    a = 0
>  end
>  a = a + i
>  i += 1
> end
> puts a
>
> では、正常に終了しますが、
>
> i = 0
> while i < 5
>  a = a + i
>  i += 1
> end
> puts a
>
> では、
> undefined method `+' for nil:NilClass (NoMethodError)
> Complete(1) エラーとなります。
>
> この違いは、i==0の条件で、a = 0 があるかないかですが、
>
> 変数aが実体化される場合の動作が、いまいち理解できていません。
> よろしくお願いします。
>
>
> 了
>
>
>

In This Thread