[SML 7722] Re: Smalltalk勉強会@京都 課題 「CSV to HTML」できました
濱崎治
osamu.hamasaki @ gmail.com
2009年 11月 21日 (土) 11:44:12 JST
濱崎です。
前回ポストしたプログラムから、さらに変更を加えました。
前回ポストしたプログラムを仮想イメージにFileInした状態で、
添付ファイル"Translators-hamasaki-ver2.st"をFile Browser上で
選択して、File Browserのメニュー File -> Compare with Systm を
実行すると、差分を調べることが出来ます。(残念ながら削除した
クラスやメソッドは分かりませんが。)
File In の際は、前回ポストしたプログラムのパッケージをSysmte
Browserのメニュー Packege -> Remove を実行してから File In
してください。
主な変更は以下のとおりです。
・PrimeMinisterのaccessing-for-HTMLTableカテゴリのメソッドを整理
結局、在位日数と画像へのハイパーリンクは、いわゆる導出
属性である、またHTMLTableへ変換する時にどの属性を使う
かは、メッセージセレクタの配列を与えるようにしたので、
わざわざこのカテゴリのメッセージを用意する必要がない。
・クラスHTMLHyperLinkToImageの追加
クラスPrimeMinisterの中に画像イメージへのハイパーリンクを
生成するコードが残っていたので、HTMLObjectのサブクラスと
して本クラスを追加し、ハイパーリンクを生成するコードを
こちらに移動。これに影響を受けてHTMLTableItemも若干変更。
(HTMLPlaneTextなんていうクラスを作った方がいいのかも、と
思っています。)
・クラスHTMLCssStyleの追加
CSS Styleの定義を保持する役割を持つクラスとして、本クラスを
追加。
このクラスを使ってHTMLDocumentの#writeHeaderOn:メソッドを
整理すべく、HTMLObjectと各サブクラスも変更。
現状プロパティ値を文字列で保持する実装で稚拙なものですが、
スタートラインとしてはまずまず、と思っています。
ただ、これまでcomplete.htmlとの差分は鳩山首相の在位日数とタイム
スタンプだけだったのですが、スタイル定義中のプロパティ設定の
並びに規則正しくない部分があったので、3箇所ほどHTMLコードが
変わってしまいました。残念。。。
・いくつか名前が適切でなさそうそうだったのを変更したり、Formatterを
かけたり
例えば、HTMLの表の行をlineとしていましたが、HTMLの世界では
rowと呼ぶようなので変更した、など。
・HTMLTableのインスタンス変数primeMinisterTableを削除
リファクタリング作業の名残です。
不要になったのを消し忘れていました。
次の勉強会までに、もう少し変更を加えられるかなあ、と思っています。
以上です。
2009年11月15日21:03 濱崎治 <osamu.hamasaki @ gmail.com>:
> 濱崎です。
>
> 私もようやく皆さんに見て頂けるレベルのコードになったので、
> プログラムをポストします。SUnitのテストケース付きです。
--
Osamu Hamasaki
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: Translators-hamasaki-ver2.st.zip
型: application/zip
サイズ: 10203 バイト
説明: 無し
URL: http://www.smalltalk.jp/pipermail/sml/attachments/20091121/fccf3e0d/Translators-hamasaki-ver2.st.zip
SML メーリングリストの案内