レーザーアイズ!!!
レいザーアぁイズ!!!
since when did you have lazer eyes?
since when did you have lazer eyes?
since when did you have lazer eyes?
いつの間にレーザーアイズを?
Masaaki Shibata blog
レーザーアイズ!!!
レいザーアぁイズ!!!
since when did you have lazer eyes?
since when did you have lazer eyes?
since when did you have lazer eyes?
いつの間にレーザーアイズを?
雑談。
ミラチェアがきたよ。ミラチェアがきたよ。
明けましておめでとうございます。
テンプレート処理用の Python ライブラリ、texttemplate.py を公開。
掲示板(まだ言ってるのかよ)でこれを使おうということで作りました。はじめ、HTML を解析したツリーを使ってテンプレート処理をしようと考えていた(し、実装していた)のですが、HTML にしか使えないのがやっぱり嫌になったので、汎用のテキストテンプレートです。まだ実用に供するものかはわかりませんけど。
余談だけど、このライブラリを作っている時に思いついたコードについて。
(locals() for a, b, c in iterable)
これは Python の、ジェネレータの内包表記というやつですが、この式を思いついたおかげでテンプレートの for ブロックをまともなものにするめどが立ったのです。
内包表記は、普通最初の部分で for に続く変数を使った式を書くものですが(たとえば、(x * 2 for x in range(10))、これは 0 から 18 までの偶数を生成するジェネレータ)、ここではその変数は使ってない。それでいて for 以下の変数(上の例だと、a, b, c)に代入しているのには意味があるという、へんな式。
# test.py from pprint import pprint L = [(1, 2, 3), (4, 5, 6), (7, 8, 9)] for x in (locals() for a, b, c in L): pprint(x)
C:¥>python test.py {'[outmost-iterable]': <listiterator object at 0x00B31B10>, 'a': 1, 'b': 2, 'c': 3} {'[outmost-iterable]': <listiterator object at 0x00B31B10>, 'a': 4, 'b': 5, 'c': 6} {'[outmost-iterable]': <listiterator object at 0x00B31B10>, 'a': 7, 'b': 8, 'c': 9}
と、こういうことなのです。夜寝る時になってベッドの中でひらめいた変態的なコード。ちなみに変態的というのはベッド云々とは関係ない。