[#29374] nil.to_s — Shugo Maeda <shugo@...>

前田です。

59 messages 2006/09/01
[#29375] Re: nil.to_s — "U.Nakamura" <usa@...> 2006/09/01

こんにちは、なかむら(う)です。

[#29380] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29387] Re: nil.to_s — Shugo Maeda <shugo@...> 2006/09/01

前田です。

[#29390] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29398] Re: nil.to_s — "NARUSE, Yui" <naruse@...> 2006/09/01

成瀬です。

[#29400] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29491] symbol and string — Tanaka Akira <akr@...>

open-uri で :proxy=>nil という指定を行うと、以下のようにエラーになります。

33 messages 2006/09/05
[#29499] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/05

まつもと ゆきひろです

[#29500] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/05

In article <1157470154.047826.13379.nullmailer@x31.priv.netlab.jp>,

[#29503] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29504] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/06

In article <1157505538.340126.8472.nullmailer@x31.priv.netlab.jp>,

[#29507] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29512] Re: symbol and string — keiju@... (石塚圭樹) 2006/09/06

けいじゅ@いしつかです.

[#29529] Re: symbol and string — SASADA Koichi <ko1@...> 2006/09/08

 ささだです。

[#29530] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/08

まつもと ゆきひろです

[ruby-dev:29562] Re: symbol and string

From: Masatoshi SEKI <m_seki@...>
Date: 2006-09-11 13:37:23 UTC
List: ruby-dev #29562
咳といいます。

On 2006/09/11, at 10:41, Yukihiro Matsumoto wrote:

> |今まで文字列とシンボルが違うことを積極的に使っていたので
> |自然にHashのキーにもそれを期待していました。
>
> どういう風に「積極的に使って」いましたか?
> 参考にしたいので教えてください。

そうですねえ‥

安くて、名前で区別しやすくて(リテラルそのまま)、ちょっとした
目印に使えるオブジェクトとして使ってました。



なんだかださい例しか見つからなかったんですが、
文字列や、xmlの木を食べるストリームみたいなオブジェクトがあって、
処理した結果を特別なものだけシンボルで返したり

  stream.each do |it|
    case it
    when :cr
      ...
    when :begin_element
      ...

    else
      ...
    end
  end

コントロールブレイク(??)イベントを返したり

  stream.each do |it|
    case it
    when :iteration
      ...
    when :status
      ...
    when :kind
      ...
    else
      ...
    end    
  end

してました。

んで、そのままArrayに入れたり、whenの代わりにHashを引いたり。

また、属性値の集まりを複数の処理で持ち回すようなときに、
外部から渡って来たそのままの属性値と、それぞれの処理が正規化した後の
値とを区別するのに使ってました。

  hash = {
    "status" => 'open',
    "イテレーション" => '160',
    "種類" => 'Story'
  }

とかあるのが、正規化したあとには、

   hash = {
    "status" => 'open',
    :status => :open
    "イテレーション" => '160',
    :iteration => 160,
    "種類" => 'Story',
    :card_type => :story
  }

にしておいて、元データはそのままに正規化した値も同時に持ち回すとか。



文字列とシンボルが区別されるLispみたいな感じなのかなあ、と思って
そう使っていただけで、これからは変わるんだ、と言われたら頭を切り
替えてつき合っていくことになるんでしょうねえ。






In This Thread

Prev Next