[#950] ruby 1.1b0 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
33 messages
1997/12/05
[#951] Re: ruby 1.1b0 released
— WATANABE Hirofumi <eban@...>
1997/12/05
わたなべです.
[#953] Re: ruby 1.1b0 released
— shugo@... (Shugo Maeda)
1997/12/06
前田です。
[#965] Re: ruby 1.1b0 released
— matz@... (Yukihiro Matsumoto)
1997/12/08
まつもと ゆきひろです
[#985] Re: tcltklib error (Re: wave viewer) — akira yamada / やまだあきら <akira@...>
1 message
1997/12/09
[#992] rbc.rb with ruby 1.1b0 — Masaki Suketa <masaki.suketa@...>
助田です。
6 messages
1997/12/09
[#998] ruby 1.1b1 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
48 messages
1997/12/09
[#1011] Re: ruby 1.1b1 released
— Kazuhisa Yanagawa <katze@...>
1997/12/10
in message-id: <199712090833.RAA31727@picachu.netlab.co.jp>
[#1013] Re: ruby 1.1b1 released
— matz@... (Yukihiro Matsumoto)
1997/12/10
まつもと ゆきひろです
[#1016] Re: ruby 1.1b1 released
— Kazuhisa Yanagawa <katze@...>
1997/12/10
in message-id: <199712100351.MAA10392@picachu.netlab.co.jp>
[#1028] Regexp#operators (Re: ruby 1.1b1 released)
— Shin-ichiro HARA <sinara@...>
1997/12/10
原です。
[#1030] Re: Regexp#operators (Re: ruby 1.1b1 released)
— matz@... (Yukihiro Matsumoto)
1997/12/10
まつもと ゆきひろです
[#1033] Re: Regexp#operators (Re: ruby 1.1b1 released)
— Shin-ichiro HARA <sinara@...>
1997/12/10
原です。
[#1049] Re: Regexp#operators (Re: ruby 1.1b1 released)
— Shin-ichiro HARA <sinara@...>
1997/12/11
原です。
[#1064] Re: Regexp#operators (Re: ruby 1.1b1 released)
— matz@... (Yukihiro Matsumoto)
1997/12/12
まつもと ゆきひろです
[#1097] Re: Regexp#operators (Re: ruby 1.1b1 released)
— Shin-ichiro HARA <sinara@...>
1997/12/15
原です。
[#1103] Re: Regexp#operators (Re: ruby 1.1b1 released)
— matz@... (Yukihiro Matsumoto)
1997/12/16
まつもと ゆきひろです
[#1100] Re: Regexp#operators (Re: ruby 1.1b1 released)
— Masaki Suketa <masaki.suketa@...>
1997/12/16
助田です。
[#1034] Re: Regexp#operators (Re: ruby 1.1b1 released)
— matz@... (Yukihiro Matsumoto)
1997/12/10
まつもと ゆきひろです
[#1001] Re: ruby 1.1b1 released
— Takahiro Maebashi <maebashi@...>
1997/12/09
前橋です。
[#1002] Object#bind — shugo@... (Shugo Maeda)
前田です。
39 messages
1997/12/09
[#1007] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/10
けいじゅ@日本ラショナルソフトウェアです.
[#1008] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/10
まつもと ゆきひろです
[#1023] Re: Object#bind
— shugo@... (Shugo Maeda)
1997/12/10
前田です。
[#1026] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/10
まつもと ゆきひろです
[#1044] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/11
けいじゅ@日本ラショナルソフトウェアです.
[#1051] Re: Object#bind
— shugo@... (Shugo Maeda)
1997/12/11
前田です。
[#1063] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/12
まつもと ゆきひろです
[#1074] Re: Object#bind
— shugo@... (Shugo Maeda)
1997/12/12
前田です。
[#1079] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/14
けいじゅ@日本ラショナルソフトウェアです.
[#1084] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/15
まつもと ゆきひろです
[#1087] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/15
けいじゅ@日本ラショナルソフトウェアです.
[#1088] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/15
まつもと ゆきひろです
[#1122] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/17
けいじゅ@日本ラショナルソフトウェアです.
[#1127] Re: Object#bind
— matz@... (Yukihiro Matsumoto)
1997/12/18
まつもと ゆきひろです
[#1134] Re: Object#bind
— keiju@... (石塚圭樹 )
1997/12/18
けいじゅ@日本ラショナルソフトウェアです.
[#1021] [1.1b1] tkdialog.rb — Kikutani Makoto <kikutani@...>
きくたにです。
5 messages
1997/12/10
[#1052] [1.1b1] TkRadiobutton select — Kikutani Makoto <kikutani@...>
きくたにです。
11 messages
1997/12/11
[#1055] Re: [1.1b1] TkRadiobutton select
— Kikutani Makoto <kikutani@...>
1997/12/11
きくたにです。
[#1061] Re: [1.1b1] TkRadiobutton select
— Kikutani Makoto <kikutani@...>
1997/12/12
Thu, Dec 11, 1997 at 08:39:33PM +0900 において
[#1062] Re: [1.1b1] TkRadiobutton select
— matz@... (Yukihiro Matsumoto)
1997/12/12
まつもと ゆきひろです
[#1080] ruby1.1b0(cygwin32) — Masaki Suketa <masaki.suketa@...>
助田です。
10 messages
1997/12/15
[#1083] Re: ruby1.1b0(cygwin32)
— WATANABE Hirofumi <watanabe@...>
1997/12/15
わたなべです.
[#1095] Re: ruby1.1b0(cygwin32)
— Masaki Suketa <masaki.suketa@...>
1997/12/15
助田です。
[#1096] Re: ruby1.1b0(cygwin32)
— WATANABE Hirofumi <watanabe@...>
1997/12/15
わたなべです.
[#1099] Re: ruby1.1b0(cygwin32)
— Masaki Suketa <masaki.suketa@...>
1997/12/15
In message "[ruby-dev:1096] Re: ruby1.1b0(cygwin32)"
[#1081] Re: [ruby-list:5634] Platform Identification (was Re: ruby 1.0-971204 released) — Kazuhisa Yanagawa <katze@...>
4 messages
1997/12/15
[#1085] [Req] object refference — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
12 messages
1997/12/15
[#1086] Re: [Req] object refference
— matz@... (Yukihiro Matsumoto)
1997/12/15
まつもと ゆきひろです
[#1089] Re: [Req] object refference
— keiju@... (石塚圭樹 )
1997/12/15
けいじゅ@日本ラショナルソフトウェアです.
[#1110] Re: Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro Hara <sinara@...>
原です。
4 messages
1997/12/16
[#1123] [BUG] mershal — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
9 messages
1997/12/17
[#1146] extconf.rb for socket — KIMURA Koichi <kkimura@...>
5 messages
1997/12/18
[#1159] mswin32 patch for ruby-1.1b2 — KIMURA Koichi <kkimura@...>
7 messages
1997/12/20
[#1167] visibility (Re: ruby 1.1b2 released) — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
8 messages
1997/12/25
[ruby-dev:1035] ObjectDBM [ Re: Object#bind ]
From:
keiju@... (石塚圭樹 )
Date:
1997-12-10 11:37:04 UTC
List:
ruby-dev #1035
けいじゅ@日本ラショナルソフトウェアです.
In [ruby-dev :01009 ] the message: "[ruby-dev:1009] Re: Object#bind ",
on Dec/10 11:38(JST) matz@netlab.co.jp (Yukihiro Matsumoto) writes:
>まつもと ゆきひろです
>|現在は別件を開発中でrubyタイムはすべてそちらに回されているのでした.
>
>なにをやっているんだろう?
オブジェクト指向データベース風オブジェクトベースdbmです.
前に, 松本氏がMarshalベースで簡単なオブジェクト指向データベース(?)を作
成しましたが, あれを, dbmベースにしたものだと思って下さい. rootオブジェ
クトから先をmarshalを使ってdbmにしまい込みます.
あと, 特徴としては, キャッシングを行なっていることですね. read/write用
にキャッシュを持っています.
機能的には, 以下のようになっています:
class ObjectDBM
include Enumerable
def [](key, mode = nil)
def update(key, obj = nil)
def []=(key, obj)
def delete(key)
def indexes(*keys)
def roots
alias keys roots
def size
def roots(mode = nil)
alias values roots
def has_root_name?(root_name)
alias root_name? has_root_name?
alias include? has_root_name?
def has_root?(root)
alias root? has_root?
def each(mode = nil)
alias each_pair each
def each_root_name
alias each_key each_root_name
def each_root(mode = nil)
alias each_value each_root
def transaction(mode = READ_CACHING)
class Transaction
class StaticTransaction < Transaction
class DynamicTransaction < Transaction
end
こんな感じで使います.
odbm = ObjectDBM.new(db_name)
odbm.transaction do
odbm[key] = Foo.new
end
odbm.transaction do
foo = odbm[key]
foo.bar = Bar.new
odbm.update(key)
end
odbm.transaction do
|txn1|
odbm[key1] = Bar.new
odbm.transaction do
|txn2|
odbm[key2] = Bar.new
txn1.abort
end
end
意外と使えるものになるのではないかなと思っています.
一度完成したのですが, 入れ子トランザクションを実装するために大幅に書換
え中でした.
きれいな実装にするためにだいぶ悩みましたが, どうにか満足いくものになった
ようです(^^;;;
1.abortしたときは, そのアボートしたトランザクションの子どものトランザ
クションもabortする.
2.commitしたときは, そのアボートしたトランザクションの子どものトランザ
クションもcommitする.
3.例外でtransactionブロックを抜けた時にはabortする.
4.例外以外(catch/returnなど)でtransactionブロックを抜けた時にはcommit
する.
って, 感じの実装だったのですが, 4.はensureで受けなくてはならないのです
が, 1-3もensureを通ることになりますので, ちょっと工夫が必要になりまし
た.
__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---