[#23884] Ruby 1.8.2 preview1にむけて — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

34 messages 2004/07/13
[#23917] Re: Ruby 1.8.2 preview1にむけて — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/07/16

山本です。

[#23920] Re: Ruby 1.8.2 preview1にむけて — "NAKAMURA, Hiroshi" <nakahiro@...> 2004/07/16

なひです。

[#23922] ruby 1.8.2 preview1 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

27 messages 2004/07/16

[#23995] String#each -> String#each_char — Shugo Maeda <shugo@...>

前田です。

27 messages 2004/07/30
[#23996] Re: String#each -> String#each_char — matz@... (Yukihiro Matsumoto) 2004/07/30

まつもと ゆきひろです

[#23997] Re: String#each -> String#each_char — "U.Nakamura" <usa@...> 2004/07/30

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

[#23999] Re: String#each -> String#each_char — matz@... (Yukihiro Matsumoto) 2004/07/30

まつもと ゆきひろです

[#24000] Re: String#each -> String#each_char — "U.Nakamura" <usa@...> 2004/07/30

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

[#24005] Re: String#each -> String#each_char — Minero Aoki <aamine@...> 2004/07/31

青木です。

[#24012] Re: String#each -> String#each_char — Shugo Maeda <shugo@...> 2004/08/01

前田です。

[#24014] Re: String#each -> String#each_char — Minero Aoki <aamine@...> 2004/08/02

青木です。

[ruby-dev:23842] Re: Ruby 1.8.2 to be released.

From: nobu.nakada@...
Date: 2004-07-01 08:44:55 UTC
List: ruby-dev #23842
なかだです。

At Wed, 30 Jun 2004 08:58:05 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:23836]:
> |1.8のYAML::Storeでもread only transactionが使えると
> |いいなと思ったので。
> 
> YAMLやPStoreの微妙な挙動の違いがないかどうか覚えていないので、
> そのまま当てるのに抵抗があるんですが。どなたか確認してくださ
> るなら。

PStoreはread_onlyモードの追加とftoolsからfileutilsへの移行、
YAML/storeは後者だけなので、そっくりバックポートしてしまっても
問題ないんじゃないでしょうか。

以前一つ気になったんですが、read_onlyであってもRDWRでオープンし
ようとしてるのはそういうもんでしょうか。


Index: lib/pstore.rb
===================================================================
RCS file: /pub/cvs/ruby/src/ruby/lib/pstore.rb,v
retrieving revision 1.20
diff -u -2 -p -r1.20 pstore.rb
--- lib/pstore.rb	27 May 2004 07:43:37 -0000	1.20
+++ lib/pstore.rb	2 Jun 2004 08:02:46 -0000
@@ -98,16 +98,13 @@ class PStore
 
       content = nil
-      file = File.open(@filename, File::RDWR | File::CREAT)
       unless read_only
+        file = File.open(@filename, File::RDWR | File::CREAT)
         file.flock(File::LOCK_EX)
         commit_new(file) if FileTest.exist?(new_file)
         content = file.read()
       else
+        file = File.open(@filename, File::RDONLY)
         file.flock(File::LOCK_SH)
-        if FileTest.exist?(new_file)
-          File.open(new_file) {|fp| content = fp.read()}
-        else
-          content = file.read()
-        end
+        content = (File.read(new_file) rescue file.read())
       end
 


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread