返事が遅くてすみません。

At Sun, 24 Nov 2002 23:35:15 +0900,
Koji Arai wrote:
> 1 引数は
>   Cache.new(max_num)
> 2 引数は
>   Cache.new(max_obj_size, max_size)
> 3 引数は
>   Cache.new(max_obj_size, max_size, expiration)
> 4 引数は
>   Cache.new(max_obj_size, max_size, expiration, max_num)
> 
> っとしてみました。1引数が私の希望で3引数がおくじさんの希望、
> 4 引数は非互換になります。これがもっとも望ましいかどうかは怪
> しいですが現存する利用例を元にってことで(^^;

あくまで個人的な好みなんですが、引数の数によって、引数の意味が変わるの
は気持ち悪いんです。引数の増減によって、意味が連続に変化しないのは受け
入れ難いです。

ところで、引数の順序にそこまで拘る必要があるんでしょうか。もちろん、よ
く使う物が前に来て欲しいというのは分かるんですが、所詮nilを書けば済む
ことなんですよね。こう言ってしまうと、元も子もないかもしれませんけど。

nilを書くのも面倒となると、まだ

Cache.new({:max_num => foo})

のように、ハッシュを使う方が私の趣味には合ってます。あるいは、

Cache#max_num=(n)
Cache#max_obj_size=(n)

等を定義して、後から個別に変更できるようにするか。

おくじ