[#43857] Hashへの生成順は保障されないのか? — Hiroshi Kasamatsu <qqmn89yb9@...>

こんにちは、笠松と申します。

88 messages 2007/08/18
[#43858] Re: Hashへの生成順は保障されないのか? — Urabe Shyouhei <shyouhei@...> 2007/08/18

Hiroshi Kasamatsu wrote:

[#43862] Re: Hashへの生成順は保障されないのか? — Hiroshi Kasamatsu <qqmn89yb9@...> 2007/08/19

皆さん、早速のレスありがとうございます。

[#43863] Re: Hashへの生成順は保障されないのか? — Urabe Shyouhei <shyouhei@...> 2007/08/19

Hiroshi Kasamatsu wrote:

[#43870] Re: Hashへの生成順は保障されないのか? — Hiroshi Kasamatsu <qqmn89yb9@...> 2007/08/20

Urabeさん、笠松です。レスありがとうございます。

[#43872] Re: Hashへの生成順は保障されないのか? — Urabe Shyouhei <shyouhei@...> 2007/08/20

Hiroshi Kasamatsu wrote:

[#43873] Re: Hashへの生成順は保障されないのか? — cuzic <cuzic@...> 2007/08/20

cuzic です。

[#43874] Re: Hashへの生成順は保障されないのか? — Urabe Shyouhei <shyouhei@...> 2007/08/20

cuzic wrote:

[#43875] Re: Hashへの生成順は保障されないのか? — Tanaka Akira <akr@...> 2007/08/20

In article <46C9E7BB.4060100@ruby-lang.org>,

[#43876] Re: Hashへの生成順は保障されないのか? — Urabe Shyouhei <shyouhei@...> 2007/08/20

おお、田中さんを満足させる説明ってのは結構ハードル高そうだな。

[#43878] Re: Hashへの生成順は保障されないのか? — しん <dezawa@...> 2007/08/20

# 出遅れたので、レスすべきメールが判らなくなってしまったので、手近なのに

[#43879] Re: Hashへの生成順は保障されないのか? — Yukihiro Matsumoto <matz@...> 2007/08/20

まつもと ゆきひろです

[#43887] Re: Hashへの生成順は保障されないのか? — Nobuyoshi Nakada <nobu@...> 2007/08/21

なかだです。

[#43891] Re: Hashへの生成順は保障されないのか? — SASADA Koichi <ko1@...> 2007/08/21

 ささだです。

[#43892] Re: Hashへの生成順は保障されないのか? — Yukihiro Matsumoto <matz@...> 2007/08/21

まつもと ゆきひろです

[#43893] Re: Hashへの生成順は保障されないのか? — Nobuyoshi Nakada <nobu@...> 2007/08/21

なかだです。

[#43899] Re: Hashへの生成順は保障されないのか? — "Akinori MUSHA" <knu@...> 2007/08/21

At Tue, 21 Aug 2007 13:59:43 +0900,

[#43900] Re: Hashへの生成順は保障されないのか? — SASADA Koichi <ko1@...> 2007/08/21

 ささだです。

[#43906] Re: Hashへの生成順は保障されないのか? — "Akinori MUSHA" <knu@...> 2007/08/21

At Tue, 21 Aug 2007 19:29:11 +0900,

[#43921] Re: Hashへの生成順は保障されないのか? — Tanaka Akira <akr@...> 2007/08/22

In article <86sl6dgikh.knu@iDaemons.org>,

[#43926] Re: Hashへの生成順は保障されないのか? — Tanaka Akira <akr@...> 2007/08/23

In article <87zm0kaz60.fsf@fsij.org>,

[#43927] Re: Hashへの生成順は保障されないのか? — Yugui <yugui@...> 2007/08/24

Yuguiといいます。

[#43930] Re: Hashへの生成順は保障されないのか? — Yukihiro Matsumoto <matz@...> 2007/08/24

まつもと ゆきひろです

[ruby-list:43787] Re: gsub! で定数を書き換えられてしまう

From: Hidetoshi NAGAI <nagai@...>
Date: 2007-08-02 02:51:03 UTC
List: ruby-list #43787
永井@知能.九工大です.

From: "Hiroyuki Iwatsuki" <don@na.rim.or.jp>
Subject: [ruby-list:43778] Re: gsub! で定数を書き換えられてしまう
Date: Thu, 2 Aug 2007 08:57:48 +0900
Message-ID: <138c85610708011657l4547f6c1y65b957b8a3f793be@mail.gmail.com>
> ただし、この場合にも定数には新たにオブジェクトを
> 代入できますので注意してください。
> 
> FOO = "hello".freeze
> FOO.gsub!(/hello/, 'bye') # 例外 TypeError が発生する
> FOO = "bye"  # 警告は出るが、代入は行われる

代入も許さない形で定数を使いたければ,こんな手もあります.
-------------------------------------------------------
$ /usr/local/bin/irb
irb(main):001:0> module FixedConsts
irb(main):002:1>   FOO = 'fooooooo'.freeze
irb(main):003:1> end
=> "fooooooo"
irb(main):004:0> FixedConsts::FOO = 'Foooo!'
(irb):4: warning: already initialized constant FOO
=> "Foooo!"
irb(main):005:0> FixedConsts::FOO
=> "Foooo!"
irb(main):006:0> FixedConsts.freeze
=> FixedConsts
irb(main):007:0> FixedConsts::FOO = 'BAAAAAA!!'
TypeError: can't modify frozen module
        from (irb):7
        from :0
irb(main):008:0>
-------------------------------------------------------

ただし,こんなこともできちゃうんで,あまり制約力はないんですが.(^_^;
-------------------------------------------------------
$ /usr/local/bin/irb
irb(main):001:0> module HOGE
irb(main):002:1>   def self.who
irb(main):003:2>      'HOGE'
irb(main):004:2>   end
irb(main):005:1> end
=> nil
irb(main):006:0> module FUGA
irb(main):007:1>   def self.who
irb(main):008:2>      'FUGA'
irb(main):009:2>   end
irb(main):010:1> end
=> nil
irb(main):011:0> HOGE.who
=> "HOGE"
irb(main):012:0> FUGA.who
=> "FUGA"
irb(main):013:0> HOGE = FUGA
(irb):13: warning: already initialized constant HOGE
=> FUGA
irb(main):014:0> HOGE.who
=> "FUGA"
irb(main):015:0>
-------------------------------------------------------
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai@ai.kyutech.ac.jp

In This Thread