[前][次][番号順一覧][スレッド一覧]

learn-ruby-in-kansai:1231

From: クラフトギア 渡辺俊輔 <craftgear@a...>
Date: Sat, 26 Nov 2005 21:21:54 +0900
Subject: [learn-ruby-in-kansai:1231] Re: シンボルという概念 Re: Rubyについてのnoviceな質問はOK?

あづみさん

レスありがとうございます。

さっそくirbで確認してみました。
irb(main):007:0> hoge = "abc"
=> "abc"
irb(main):008:0> p hoge.object_id
284256
=> nil
irb(main):009:0> hoge = "abc"
=> "abc"
irb(main):010:0> p hoge.object_id
274320
=> nil

同じ変数名に、同じ文字列を入力しても、違うオブジェクトIDになっているのを
確認できました。

同じようにシンボルも確認してみました。
irb(main):021:0> abc = :abc
=> :abc
irb(main):022:0> p abc.object_id
3911950
=> nil
irb(main):023:0> abc = :abc
=> :abc
irb(main):024:0> p abc.object_id
3911950
=> nil
irb(main):025:0> p :object_id
:object_id
=> nil
いずれも同じアドレスを指していることがわかりました。

さらに、文字列のとの連結も試してみました。
irb(main):040:0> p "abc" + "abc"
"abcabc"
=> nil
irb(main):041:0> p "abc" + :abc
TypeError: cannot convert Symbol into String
        from (irb):41:in `+'
        from (irb):41
        from :0
irb(main):042:0> p "abc" + :abc.to_s
"abcabc"
=> nil

つまり、シンボルは文字列の代わりに使えるが、文字列そのものではない・・・とい
うことでしょうか。
おかげでシンボルそのものについては理解が深まりましたが、使いどころがよく
わからないままです。

う〜〜〜ん、とりあえず、シンボル≒文字列 という理解で、いろいろな参考書や
ソースコードを読んで理解を深めてみたいと思います。


-- 
クラフトギア 渡辺俊輔 <craftgear@a...>


--
ML: learn-ruby-in-kansai@r...
使い方: http://QuickML.com/
公式ページ: http://jp.rubyist.net/?KansaiWorkshop
過去ログ: http://www.fdiary.net/ml/learn-ruby-in-kansai/

[前][次][番号順一覧][スレッド一覧]

      1225 2005-11-23 14:43 [nshttsk@g...        ] 復帰 and 懇親会締め切り                 
      1226 2005-11-25 15:07 ┗[craftgear@a...      ] Rubyについてのnoviceな質問はOK?       
      1227 2005-11-25 15:29  ┗[konami@k...         ]                                     
      1228 2005-11-26 01:30   ┗[craftgear@a...      ] シンボルという概念 Re: Rubyについてのnoviceな質問はOK?
      1229 2005-11-26 05:22    ┣[adzumi@d...         ]                                 
      1230 2005-11-26 07:09    ┃┣[xml@t...            ] 今日は失礼しました            
->    1231 2005-11-26 13:21    ┃┗[craftgear@a...      ]                               
      1233 2005-11-26 18:26    ┃ ┗[speakillof@y...     ]                             
      1235 2005-11-27 06:35    ┗[usa@g...            ]                                 
      1238 2005-11-27 16:05     ┗[craftgear@a...      ]