たけ(tk)です。

[ruby-list:33859] Re: xxとして出し入れするメソッドの名前は? にて 
kjana / dm4lab.to (YANAGAWA Kazuhisa) さん 曰く:
》....「Array として」とか「Hash として」っていうのがいまひとつイメージしにくいっていうか,いろいろ考えられなくもないから何を望んでるのかがわからないというかっていう話があるんですが....

 そうでしたね、あいまいな質問ですみませんでした。

 文字列であれば次のような形式の文字列とのやりとりになります。

str=<<EOS
key1=val1
key2=val2
EOS

》設定する方というのを考えるの自体が不自然っていうことありませんか?
	・・・
》とかいうのと同じ程度に.こういうのだと個人的にはとある表現から Stringsを作るメソッドと,Strings を merge するメソッドを作ると思います.
》
》    # s1.is_a? Strings, s1.inspect == '["key1=val1", "key2=val2"]'s2 = Strings.from_array(["key3=val3", "key4=val4"])s = s1+s2
》
》とか,なにかそんなの.Strings#initialize が型みて良きに計らうのでもいいけど.

 Strings というのは Delphi の TStrings クラスをラップしたもので、Delphi 
ではオブジェクトの内部オブジェクトやデータ交換の手段として、いろいろな場
面で使われているものです。たとえば、メモ型入力窓のデータも Strings 型で
保持されているようです。"key=val" 形式で使われるものとしては、データベー
スのパラメータを保持するために使われているものなどがあります。データベー
スを開くときには設定ファイルを読み込んで Strings クラスの内部オブジェク
ト(params)に保持する。その params:Strings を参照すれば設定を取り出したり、
書換えることができる。というように使われています。

 それで、Strings 型のオブジェクトに保存されたパラメータを Hash として取
り出したり、あらかじめ Hash やテキストで作っておいた設定を一括してデータ
ベースオブジェクトにセットしたい。という用途を考えていました。

  Strings クラスを一から作りたい、というような誤解を生む表現をしてしまっ
たようです。既存の非 Ruby ライブラリのクラスである Strings 型を Ruby か
ら使いやすくするためのインターフェースを整備したいという話でした。

》    a.content = [1, 2, 3]s2 = Strings.from_array(["key3=val3", "key4=val4"])いちいち新しいオブジェクト作るのいやだったら update_by_array とか,な

 いろんな名前が思いついてしまうんですよね・・。

 出し入れを同じ名前にしたいというのは、同じ名前であれば

          ↓Strings クラスのメソッド
 database.params.as_array += ["Database Name=my_Database"]
      ↑Strings クラス

みたいな記述もできるようになるので便利かなと思った次第です。

》そういうわけで「....として見る」っていうのはやってもあんまり逆はやりませんね.私は.

  出来合いのライブラリと Ruby 本来のオブジェクトとの間のインターフェース
の名前で悩む、と言うことは少ないのかなぁ?。

 標準的な命名法というのはないんでしょうね。

 * as_xx (as_array,as_hash) が気に入りはじめているところ。

Take_tk = KUMAGAI Hidetake
たけ(tk)=熊谷秀武