トップ 最新 追記

本 日 の h o g e

hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。

更新情報の取得には rdflirs を使ってもらえると嬉しいです.


11/10/2012 うむ [長年日記]

tDiary 3670日目

[Py] PyMigemo 0.4 をリリース

機能的には特に変わったところはないのだけれど,Python3 に対応したのでリリース.

Python3 になると文字列は基本的に全て unicode になり,int は long になる. Python3 側に寄せるのが吉ではあれど Python2 での利便性を損ねるのもダメだろうということで,全てのメソッドを「input は unicode でも encoded string でも良い.output は unicode に統一」という形にした.

以前から query() メソッドだけはそんな感じになっていたのだけれど,その他のメソッドはそうはなっていなかった. これは殆どが多くの場合 ascii しか扱わないであろうメソッドだからなのだけれど,Python3 だと例えば下記のようなことになるので対応せざるを得なかったというところ.

>>> 'ほげ'.encode('euc-jp')
b'\xa4\xdb\xa4\xb2'

>>> 'ほげ'.encode(b'euc-jp')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: encode() argument 1 must be str, not bytes

なお内部的に PyString_* の代わりに PyBytes_* を使うことになったので Python2.5 以下は切った. マクロを駆使すれば対応できる気はするけれど,需要に疑問があったのでやらなかった. 要望があれば検討しますということでひとつ.

それにしてもいい加減管理が面倒なので pypi に持って行くことを考えたのだけれど,日本語のためのモジュールなのにそのためにドキュメントを英語で書くとか意味が分からんので断念している今日この頃. 日本語と英語の二重管理はもっとイヤだし...