めざましテレビ
今日の早耳ムスメは澤野ひとみちゃん,お題は「この秋欲しい!! 最新おしゃれコート」.
半年ぶりに新早耳ムスメが登場.CanCam モデルの澤野ひとみちゃん.
誌面ではごっつい印象が強いひとみちゃんですが,テレビで見るとそうでもない...
と,昨日の予告では思ったのだけど,やっぱりごっついかな? (^^;
なんか,身長以上に大きい! って感じちゃいますね.
身長は 170cm とのことなので優ちゃんと同じ,もえちゃんより 1cm,友里ちゃんより 2cm 高いだけのはずなんだけど...
たくましさを感じちゃうせいか,かなりのミニスカートでも直ちんの時みたいにドキドキしないというか,迫力を感じてしまうというか...
雑誌やテレビよりランウェイの方が映えるかも〜.
ともあれ (JW),直ちん・麗菜ちゃんと合わせて現役 CanCam モデルが 3 人に.OG のあさ美ちゃんもいるし,いっそのこと CanCam とのタイアップ企画にしちゃえばいいのに.(^^;
そんなわけで (どんなわけで?),ひとみちゃん,頑張ってね〜.
「早耳ムスメ」のキーワードにひとみちゃんを追加♪
驚いたことに,ひとみちゃんキーワードになってるのね.昨日は気づかなかったよ.
ともあれ (JW),キーワード化されていない早耳ムスメはココちゃんのみ.かわいそう...
そんなわけで (どんなわけで?),木下ココちゃんのキーワード作るしか!!>だれか
Prolog 写経記 その 71 write_list_delimited/2
(ほぼ) 毎日淡々と Prolog を写経します.元ネタはこちら.
- 作者: ボグダンフィリピッチ,中島誠,伊藤哲郎
- 出版社/メーカー: 海文堂出版
- 発売日: 1990/08
- メディア: 単行本
- 購入: 4人 クリック: 33回
- この商品を含むブログ (68件) を見る
write_list_delimited/2
を写経します.解説
write_list_delimited(List, Del)
はList
の要素をDel
で仕切って,現在の出力ストリームに出力する.
ふむ.
モード
write_list_delimited(+, +).
ふむ.
定義
では,こいつの定義を写経しませう.
write_list_delimited([], _). write_list_delimited([X], _) :- !, write(X). write_list_delimited([X | List], Del) :- write(X), write(Del), write_list_delimited(List, Del).
昨日のより全然楽♪
最初の節は停止条件,次の節はリストの要素が一つだけならそれを単独で出力.
最後の節はリストの要素が複数ある場合で,最初の要素を出力した後にデリミタを出力して,残りの要素を再帰的に出力,と.
例
では使用例を写経しませう.
2 ?- write_list_delimited([1, 2, 3, 4, 5], '+'). 1+2+3+4+5 Yes 3 ?- write_list_delimited(['May', 'June', 'July'], ' '). May June July Yes
楽勝♪
S2.3 自動登録とコンテナ階層 (名前空間)
仕事先で、今作成中のシステムに試しに入れて色々動かしてみました。特に問題なく動いてるし、たしかに基盤系以外のdiconファイルはいらなくなることを確認。これ入れたらメンバー楽になるだろうなぁ・・・と思ったのですが・・・、自動設定では定義分割機能やネームスペース機能が使えないっぽいと判明。
大丈夫,ちゃんと使えますよ♪
S2.3 の ComponentAutoRegister
は,それ自身のコンテナにコンポーネントを登録します.その他のコンテナにコンポーネントを登録することはできません.
しかし,複数のコンテナを使うことや名前空間を使うことは問題なくできます.
例えば app.dicon
で
<components> <include path="aaa.dicon"/> <include path="bbb.dicon"/> ・・・
とかしておいて,aaa.dicon
では
<components namespace="aaa" > <component class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"> <initMethod name="addClassPattern"> <arg>"hoge.aaa"</arg> <arg>".*ActionImpl"</arg> </initMethod> ・・・
そして bbb.dicon
では
<components namespace="bbb" > <component class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"> <initMethod name="addClassPattern"> <arg>"hoge.bbb"</arg> <arg>".*ServiceImpl"</arg> </initMethod> ・・・
とすることで,hoge.aaa
パッケージの 〜ActionImpl
クラスは名前空間 aaa
のコンテナに,hoge.bbb
パッケージの 〜ServiceImpl
クラスは名前空間 bbb
のコンテナに登録されます.
当然ですが,aaa.dicon
や bbb.dicon
はそれぞれが必要な dicon をインクルードすることができますから,
例えば、ある一部の業務では別システムのデータベースに接続する必要があるので、j2ee.diconに設定しているDataSourceとは別のDataSourceオブジェクトを作成する必要があるのですが、このDataSourceや、それを利用するコンポーネントを共通なdiconファイルに定義してしまうと、これらのコンポーネントに対して自動バインディング定義が使えなくなります。
という場合でも大丈夫です.
ある DataSource
を定義した dicon (またはそれをインクルードしている dicon) の中にその DataSource
を使うコンポーネントを登録する ComponentAutoRegister
を記述すればオッケー♪
S2.3 が掲げているのは Less Configuration であって Zero Configuration ではないので (たしか),dicon を全く書かないと考えるのではなく,従来通りコンテナ (dicon) の階層を使ってスコープを管理して,そこに登録したいコンポーネントを ComponentAutoRegister
で引っ張ってくると考えればいいのではないでしょうか.
出演予定 TV 番組
情報無しですぅ...