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

[mhc:00301] Re: [REQ] "none" as default value in mhc-input-time



On Sun, 26 Dec 1999 05:23:51 +0900,
	Kazunori NISHI <kazunori@xxxxxxxxxxxxxxxxxxxxxxxxx> said:

> ですが、candidate(time)が表示された場合は、まだ none を入力し
> ないといけないようです。

candidate がみつかったときは、それが minibuffer にデフォルトとし
て出てる方が自然じゃないすか? そうではなくて、最初はとにかく none 
にして欲しいということですか?

> 「期間」を否定するくらいなので、通常のスケジュール(日付け指定)でなく
> intersect でのみ利用されるだろう。intersect はそんなに多くないだろう。
> だから、少しぐらい重くても大丈夫なはず。という仮定は卑怯ですか?

そうですね。そういう意味では `!' を列挙しするのも十分重い訳だし。
やってみて非常にダメだったら考えます。
X-SC-Day: に [!]yyyymmdd-yyyymmddd を使えるようにするのも手かな
と思ってたのですが、こっちの方が余計に重そうだ。

> class MhcDate
>   def include_category? (category)
>     MhcScheduleDB .new .search1(self) .each do |schedule|
>       return true if schedule .in_category?(category)
>     end
>     return false
>   end
>   def holiday?
>     include_category?('Holiday')
>   end
> end
> 
> と思いましたが、激しく重いです。しかも祝日まで mhc が管理する必要性は
> ない事に気付き、何かバカらしくなってきました。

MhcScheduleDB を毎回生成するのは重いです。cache を作るので、2回
目以降の問い合わせは比較的速くなりますが。

なので、MhcScheduleDB のインスタンスは、通常、1つしか生成しない
ほうがいいです。もし上のようなことをやるなら、MhcDate の class 
変数で MhcScheduleDB のインスタンスを 1つだけ持つしかないでしょう。

でも、MhcDate がそこまでやる義理はないと思いませんか? 国が違えば
祝日も違うわけだし。

代案として、

class MhcScheduleDB
  def holiday?(date)
    !search1(date, 'Holiday') .empty?
  end
end

はどうですか? db = MhcScheduleDB .new を大事に持っておいて、
必要なときに db .holiday?(date) で調べます。

祝日を引くだけなら、db =MhcScheduleDB .new('/dev/null') とし
ておくと、~/Mail/schedule を見に行かない分速くなります。
--
nom