[#33732] 文字列の式展開について — Masao Mutoh <mutoh@...>

むとうです。

14 messages 2002/02/03
[#33733] Re: 文字列の式展開について — Tietew <tietew-ml-ruby-list@...> 2002/02/03

[#33745] Re: 文字列の式展開について — Masao Mutoh <mutoh@...> 2002/02/04

むとうです。

[#33746] Re: 文字列の式展開について — Take_tk <ggb03124@...> 2002/02/04

たけ(tk)です。

[#33762] WebDAV client — HIDAKA Takahiro <cv8t-hdk@...>

 ひだかです。

15 messages 2002/02/05

[#33793] 右辺の値なしでも実行可能? — "井上 浩一" <kyoui32@...>

井上です。

48 messages 2002/02/08
[#33794] Re: 右辺の値なしでも実行可能? — Tietew <tietew-ml-ruby-list@...> 2002/02/08

[#33797] 変数の宣言 — Yasuhiro Hayase <hayase@...> 2002/02/08

早瀬@大阪大学基礎工学部情報科学科 です。

[#33798] Re: 変数の宣言 — matz@... (Yukihiro Matsumoto) 2002/02/08

まつもと ゆきひろです

[#33839] Re: 変数の宣言 — Yasuhiro Hayase <hayase@...> 2002/02/11

早瀬@阪大です。

[#33840] Re: 変数の宣言 — Tanaka Akira <akr@...17n.org> 2002/02/11

In article <20020211224442.48d0e668.hayase@hcn.zaq.ne.jp>,

[#33841] Re: 変数の宣言 — nobu.nakada@... 2002/02/11

なかだです。

[#33845] Re: 変数の宣言 — shudo@... 2002/02/12

> > > あえて宣言文の途中で、代入前に変数の値を使った場合にエラーを出そうと思うと、

[#33847] スクリプト言語 (Re: 変数の宣言 ) — TAKAHASHI Masayoshi <maki@...> 2002/02/12

高橋征義です。

[#33850] Re: スクリプト言語 (Re: 変数の宣言 ) — Takaaki Tateishi <ttate@...> 2002/02/12

At Tue, 12 Feb 2002 13:27:58 +0900,

[#33871] Re: スクリプト言語 (Re: 変数の宣言 ) — TAKAHASHI Masayoshi <maki@...> 2002/02/12

Takaaki Tateishi <ttate@kt.jaist.ac.jp> wrote:

[#33795] Re: 右辺の値なしでも実行可能? — "井上 浩一" <kyoui32@...>

井上です。

13 messages 2002/02/08

[#33807] Re: 右辺の値なしでも実行可能? — "井上 浩一" <kyoui32@...>

井上です。

38 messages 2002/02/08
[#33824] Re: 右辺の値なしでも実行可能? — "jihg" <jihg@...> 2002/02/08

jihg です。新入りです。

[#33825] Re: 右辺の値なしでも実行可能? — Tanaka Akira <akr@...17n.org> 2002/02/08

In article <000001c1b0c1$04eca980$b7d08bcb@soteccomputer>,

[#33831] Re: 右辺の値なしでも実行可能? — "jihg" <jihg@...> 2002/02/09

> Pseudo-Simplicity(擬似単純性)

[#33853] arguments for def [Re: 右辺の値なしでも実行可能? ] — Masaaki Sakano <mas@...> 2002/02/12

坂野 正明と申します。

[#33856] Re: arguments for def [Re: 右辺の値なしでも実行可能? ] — shukaku@... 2002/02/12

At Tue, 12 Feb 2002 19:14:03 +0900,

[#33867] Re: arguments for def [Re: 右辺の値なしでも実行可能? ] — Masaaki Sakano <mas@...> 2002/02/12

坂野 正明です。

[#33846] quickml サーバ — Satoru Takabayashi <satoru@...>

高林と申します

22 messages 2002/02/12
[#34082] SlowML /Re: quickml サーバ — rubiben <ozaki@...> 2002/02/25

るびべん です:

[#34086] Re: SlowML /Re: quickml サーバ — matz@... (Yukihiro Matsumoto) 2002/02/26

まつもと ゆきひろです

[#34100] Re: SlowML /Re: quickml サーバ — rubiben <ozaki@...> 2002/02/27

るびべん です:

[#34117] SlowML 実装実験 /Re: quickml サーバ — rubiben <ozaki@...> 2002/02/27

るびべん です:

[#33966] 「たまてばこ」開発版が SecurityE rror — dellin <dellin@...>

dellinといいます。

17 messages 2002/02/18
[#33968] Re: 「たまてばこ」開発版が SecurityError — nobu.nakada@... 2002/02/18

なかだです。

[#33972] world writeable dir (Re: 「たまてばこ」開発版が SecurityError) — Kazuhiro NISHIYAMA <zn@...> 2002/02/18

西山和広です。

[#34053] 漢数字 -> 数 — TOYOFUKU Chikanobu <toyofuku@...>

豊福です。

18 messages 2002/02/25

[#34056] ruby-dev summary — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

16 messages 2002/02/25

[ruby-list:33866] Re: xxとして出し入れするメソッドの名前は?

From: Take_tk <ggb03124@...>
Date: 2002-02-12 16:02:32 UTC
List: ruby-list #33866
たけ(tk)です。

[ruby-list:33861] Re: xxとして出し入れするメソッドの名前は? にて 
"kumaryu" <kumaryu@kumaryu.net> さん 曰く:
》はじめまして、kumaryuと申します。

 こんにちは。レスありがとうございます。

》確かにVCLのStringsにはそんな機能がありますね。
	・・・
》私はVCLのStringsのその機能は簡易的なHashの代用か、Iniファイルのサポートのた
》めの機能と考えています。

 その通りです。

》Stringsを使うにしても、VCLのStringsよりRubyのHash、Array、Stringの方が柔軟な
》操作ができるのでStringsではtextの取得設定ができればだいたい何とかなりません
》か?
》hがHashだとして、
》
》(h.to_a.correct {|arr| arr.join('=') }).join("\n")
》
》とすれば、適切な文字列が出来上がります(たぶん^^;)。これを設定できれば設定は
》特に問題ないと思います。Arrayの場合もほぼ同様ですね。
》設定というのが内容を置き換えるのではなくマージするものなら、Strings#to_hash
》などでいったんHashにして、Hash#updateなどでマージしてから設定するのが普通で
》しょう。

  Strings#as_hash でいったんHashにして、Hash#updateなどでマージしてから、
Strings#as_hash= で設定する、というふうに考えていたわけです。

 実装自体はたいしたことなくて、実際には String#text で出し入れすること
になります。kumaryu さんのコードでOKでした。

module Phi
  class Strings
    def as_hash=(hash)
      self.text = hash.to_a.collect{|arr| arr.join('=') }.join("\n")
      return hash
    end
    def as_hash  # [ "key1=val1" , "key2=val2" , ... ]
      ret = {}
      self.each{|s|
        if /^(.*)=(.*)$/ =~ s
          ret[$1] = $2
        end
      }
      return ret
    end
    alias to_hash as_hash
  end
end

#### テストコード ・・ 全体は [ap-list:2531] 

hash = DEFAULT_PARAMS_FOR_INTERBASE.dup  ## ←これは省略
hash["Database"] = "C:\\Program Files\\Borland\\InterBase\\examples\\Database\\employee.gdb"
hash["Password"]  = "masterkey"
hash["User_Name"] = "sysdba"

connection = interbase_connection
connection.connection_name = "IBLocal_xx"
connection.login_prompt = false
connection.params.as_hash = hash	#	← Strings#as_hash=
p connection.params.as_hash		#	← Strings#as_hash
	#	{"Password"=>"masterkey", 
	#	"Database"=>"C:\\Program Files\\Borland\\InterBase\\examples\\Database\\employee.gdb",
	#	"SQLDialect"=>"1", 
	#		...
	#	"WaitOnLocks"=>"True",
	#	"User_Name"=>"sysdba"}

》しかし、Stringsの本来の機能から言えばそのような機能があることが不自然である
》ように思います。
	・・・
》本当にRubyらしいというならば、それをStringsの機能とせずに別なクラスとするほ
》うが良いのではないでしょうか。
	・・・
》上のコードをいちいちやるのは面倒だと思うならば、新しくStringsのオブジェクト
》をHashやArrayから作れるようにするのがRubyらしいと思います。それでStringsから
》Stringsを更新できるようにすればいいんじゃないかと。

 そういう方法もありますね。うーむ。それが Ruby らしい、かぁ・・。

 *  Strings#as_hash、Strings#as_hash= と比べるとやけに難しくなる気がす
るんだが・・。

》あとは変更をStringsに通知できるようなHashのサブクラスを作るとか。面倒です
》ね。

 こりゃ大変だ。Observer かな?。

》>   #array  : Array        #array=(array)
》>   #values : Hash         #values=(hash)
》>   #text   : String       #text=(string)
》
》valuesの戻り値をHashなどにしておくと、
》values['key'] = 'value'
》などが意図した通りに動きませんよね。
》ここはHashにするより普通にkeyを引数に取るattrにしたほうがいいと思います。

 values という名前はまずいですね。

 * もっとも、Ruby では「some_method[key]=」という形式のメソッドを作る
のは難しく、#[]= の方が簡単なので、Apolloでは Delphi の TStrings.values[] 
は Strings#[] にポートしてある。よってバッティングはしない。しかし、まぎ
らわしいことは確か。

 * うーむ。まだ、たけ(tk)の発想が Ruby 的でないと言うことか・・。

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

In This Thread