[#47861] ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@...

20 messages 2011/02/10
[#47874] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@... 2011/02/15

前川です。

[#47875] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — OZAWA Sakuro <sakuro@2238club.org> 2011/02/15

さくです。

[#47876] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — eiichi_maekawa@... 2011/02/15

[#47877] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — OZAWA Sakuro <sakuro@2238club.org> 2011/02/15

さくです。

[#47878] Re: ruby1.9.2 ruby-debug19-0.11.6.gem のローカルインストール — Kenta Murata <muraken@...> 2011/02/15

むらたです。

[ruby-list:47920] Re: 2 種類のリテラル

From: "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
Date: 2011-02-23 11:26:58 UTC
List: ruby-list #47920
きしもとです

Fixnum とかシンボルの場合は、同じ値のオブジェクトなら同一のオブジェクトに
必ずなるという性質ゆえに、同じリテラル式は毎回同じオブジェクトを返す、
という感じでしょうか。

> たまたまそうである、というだけで、破壊可能なオブジェクトが返ってきても
> よさそうな気がします。ただ、そんなもの(毎回同じオブジェクトを返すが、
> そのオブジェクトは破壊可能)はなさそうですけどね。

Ruby とか Python では思いつかないのですが、

$ gosh
gosh> (define (foo) '(1 2))
foo
gosh> (foo)
(1 2)
gosh> (set-car! (foo) 3)
#<undef>
gosh> (foo)
(3 2)

変数 foo じゃなくて、関数呼び出し (foo) で、こうなります。
(Lisp では括弧はただの括弧じゃなくて関数呼び出しになります)
なお Gauche の名誉のために、というか、Scheme の仕様では、クオートで
作られた値はリードオンリーかもしれないことになっていて、その書き換えは、
(通知されることが要求されない)エラーということになっているので、
困ったりしてもそういうプログラムを書く奴が悪いということになってる
わけですが。

# というかこれが発端で Ruby のリテラルについて思いを巡らせた

In This Thread