(参考文献の)10 エグバート B. ゲブスタッター『金、銀、銅――錬金術の五つの環』(野崎昭弘・はやしはじめ・柳瀬尚紀訳、白揚社 1985) 金属が主題というのに玉石が混淆しており、語り口は仰々しいが混乱している――私の書物に似て間接的自己言及の好例がいくつか含まれている。実際的だが実在的でない書物をふくむ、行き届いた注釈つきの文献一覧はとくに貴重である。」何の本の参考文献を眺めていたかといえば、著者が GEB と略称していた本だ。ちなみにこの参考文献の著者は EBG。ただの偶然ですよ。■2014年の印刷の、296ページと 297ページに流暢という語が繰り返し出てくる。2番目の暢が鴨になってるんだけど、これはべつに遊んでるふうではないよね。参考文献を摘み読みしてても、現在の進捗はまだまだ 297/763 なのだった。
if not item.has_item?
のとき item.nodes(...
からエラーメッセージを取り出すことはできない。以前のように doc
に対してメッセージを送らないと。■AmazonItem#initialize
で has_item?
相当の処理をして、ダメならアクセス可能な場所(AmazonItem#error_message
とか)にエラーメッセージを残しておく(あるいは AmazonItem のアイデンティティ不在を理由にエラーメッセージを例外にして投げる)というのが一案。■規模に比して過度な構造化は避けたいにしても、複数のメソッドがフラグ(この場合はシンボル型の @parser
変数)で分裂するのは嫌いだなー。コンテクストがモザイク状に入り組むのを避けたい。アダプタに委譲するとか(※分岐フラグではなく予め分割して選択したコードを保持するということ。毎回進路に迷うのではなく、事前の1分岐で決定する)、特異メソッドで特化するとか(※分岐コードをモジュールに分割してエクステンド。派生メソッドの呼び出しまでをインタープリタに任せられる)、呼び出し側が変更できるならクラスではなくファクトリメソッドをエクスポートするとか、思いつくのはこのあたり。■便乗して蒸し返すけど、AmazonItem#initialize
で最初の <Item> を無条件に選択するのは、ISBN で検索してるのに ISBN を持たない Kindle本が紙の本より優先される場合があり、必ずしも望んだ結果ではないし(※対応する Kindle版を含めることが不合理だとまでは言わない)、結果が並びに依存していて不安定でもある>20150518p02。←の方法は、XPathで全部やろうとしないで、items.find{...} or items.first
あたりが無難か。■参考。error_response.xml, twoitems_response.xmlAppData\Roaming\Opera Software\Opera Stable\Local State
というファイルだけが削除できずに残る。右クリックしたらこのファイルをコントロールできるグループまたはユーザーがひとつも存在していない。SYSTEMも Administratorsも Usersもない。何が起こったのだろう。Operaは悪くなかったかもしれないね。またインストールしたよ。