2011年9月26日

[ruby-list:48414] Re: 要素のない配列の挙動?

だんです。

> いややっぱり配列が絡むとややこしくなりますね。
> 以下のような代入によるaの内容の違い話かな…
> ちょっとややこしいですね。
>
> a = ["hi", "hello"]
> x = a[0]

> p a
>
> a[0] = "bye"
> p a

いまさらですが、自分で書いたこのコードこれだと最初のxへの代入が意味不明でした。。

念のため書きたかったコードを書いておきます。

a = ["hi", "hello"]
x = a[0]
x = "bye"
p a #=> ["hi", "hello"]

a[0] = "bye!"
p a #=> ["bye!", "hello"]


# 補足でreplaceの例も書いておきます。

a = ["hi", "hello"]
x = a[0]
x.replace "bye!"
p a #=> ["bye!", "hello"]


# あと「+=」はちょっと注意が必要で、
# 「x += "!!"」というのは「x = x + "!!"」のことなのでやっぱり
# 新しいオブジェクトの代入になってしまうんですよね。

a = ["hi", "hello"]
x = a[0]
x += "!!"
p a #=> ["hi", "hello"]


投稿者 xml-rpc : 2011年9月26日 00:03
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/106569
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。