[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:02305] Re: mhc_pilib.c for pilot-link 0.12



伊藤です。

> > ところで、普段使っていないので気付いていなかったのですが、(前回の
> > パッチとは無関係に) palm2mhc が Ruby 1.8.6 ではエラーが出て
> > 動作しなくなっていました。

> 最初の to_s は,ありがちな感じがするのですが,2番目は
> 何故ダメなのかよく分かりませんね.何というエラーが出るのでしょうか.

> --- ruby-ext/lib/mhc-schedule.rb	3 Oct 2005 14:23:03 -0000	1.23
> +++ ruby-ext/lib/mhc-schedule.rb	19 Sep 2008 08:57:47 -0000
> @@ -1298,7 +1298,7 @@
>      parent = File .dirname(dir)
>      if makedir_or_higher(parent)
>        Dir .mkdir(dir)
> -      File .open(dir, "r") .fsync .close if File .method_defined?("fsync")
> +      File .open(dir, "r") {|f| f .sync} if File .method_defined?("fsync")

close メソッドが無いという主旨のエラーだったと思います。
fsync メソッドは IO クラスで用意されていますが、
戻り値が File (あるいは IO) オブジェクトではない (*1) ので
エラーになると私自身は理解しています。

(*1) http://www.ruby-lang.org/ja/man/html/IO.html#fsync

-- 
伊藤 和博(Kazuhiro Ito)