namazu-dev(ring)


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

Re: tolower()



Ryuji Abe <raeva@xxxxxxxxxxxx> wrote:

>> +        if (isascii(*str)) {
>> +            *str = tolower(*str);
>> +        }
>>          str++;
>
>ぼけていました。これじゃあtolowerを使っている意味がない。
>isascii(*str)じゃなくてis_lang_ja() && !iseuc(*str)ですね。
>#対処の仕方としてはad-hoc過ぎだけど。

インデックスを作る段階 (mknmz) で、localeを意識せずに大文字
から小文字へ変換しているので、それに合わせて、検索側 
(namazu) でも localeを意識せずに大文字から小文字へ変換した方
がいいです。

localeまわりは外国のユーザが増えてから真剣に取り組めばいいと
思います。とりあえず英語は問題ないし。:-)

# いずれ UTF-8 化するときにでも…

-- Satoru Takabayashi

Gerald M. Weinberg著『プログラミングの心理学』
<http://www2.gihyo.co.jp/books/bookinfo.asp?ID=17> を読みま
した。すばらしい本です。エゴレス方式をさっそく実践しよう。:-)

エゴレス方式の本質はフォン・ノイマンの次の逸話がよく表してい
ます。

  自分は自分のプログラムを調べる能力がない、ということに気づ
  いた最初のプログラマは、恐らくジョン・フォン・ノイマンその
  人である。彼の知人たちが伝えるところによれば、彼は絶えず自
  分がいかに下手くそなプログラマかを力説し、しょっちゅう人に
  プログラムを押しつけては、読んで間違いや下手なところを見つ
  けてくれ、と頼んでいたという。にもかかわらず今日、フォン・
  ノイマンに対する共通のイメージは、並びなきコンピュータの天
  才であって一挙手一投足において完璧、というものだ。そして事
  実、フォン・ノイマンが天才であったことに疑いの余地はない。

最悪なのは、欠陥のあるコードを書く自分は欠陥人間だ、という認
知的不協和を避けるために、自分が書いたコードを隠し、他人から
批判を受けないように努めることのようです。