morit****@razil*****
morit****@razil*****
2008年 5月 14日 (水) 19:58:07 JST
森です。 メンバを公開している理由はふたとおりあります。 - 利用する側が構造体の中身に直接アクセスすることを意図している。 (optargs系) - 構造体の実体を利用する側で(スタック等に)確保可能にしたい。 (sen_sym_scan_hit, sen_sym_cursorなど) 後者については利用する側に中身をいじられるのは本意ではないですねー。 また、後者については今後中身が隠されたり変更されたりすることは有り得ると思います。 >>> Kouhei Sutou さんは書きました: > 須藤です。 > > 2008/05/14 18:27 <morit****@razil*****>: > > > 意図的ではありません。 > > > > sen_index_create_with_keys()で作られたsen_index *はsen_index_remove()の > > ときに.SENを消そうとしないようにするのがスジだと思いますが、 > > それを判断するための情報がインデックスファイルの中に保存されないので、 > > うまく解消できないのです。APIの仕様に問題があったと反省しています。 > > わかりました。 > > ところで、struct _sen_*が丸見えなのは意図的でしょうか? > これのおかげでAPIの拡張が大変になっているようにも見えます。 > > 今後、structの中身を隠すということはあるでしょうか? > もちろん、アクセサ関数を使うよりもstructの中身に直接アクセスできた方が > 速度的に有利だからこのまま、というのも十分理解できます。Sennaは速度を > 重視するライブラリだと思いますし。ただ、Sennaを利用する側は直接struct > の中身にアクセスできなくてもそんなに速度的には影響がないんじゃないか > なぁとも思います。特にバインディングを利用するならですが。 > > 個人的な好みとしてはAPIを柔軟に変更できるので隠したいです。 > > _______________________________________________ > Senna-dev mailing list > Senna****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/senna-dev > バグ報告方法:http://qwik.jp/senna/bug_report.html > -- morita