Diary?::2006-02-04

02:59

俺は死刑制度を支持はしているが、日本で行われている絞首刑は支持していない。どうせ殺すんなら、例えば新薬の実験に使うとかいくらでも使い道があるだろうに。臓器移植に活用するのも中々いいアイディアだと思う。そういう意味で、中国はとても先進的な事をやっていると思うね (でもあれは所謂横流しだったような気がするけど。よく覚えてない)。

こういう事を書くと非人道的だとか言い出す連中がいるが、更生の余地の無い人間を社会に放つことがどれだけ危険なのかとか、凶悪犯罪者を税金使って漫然と生かしておくことの滑稽さについて考えてみろといいたい。

03:17

そういや「博士の愛した数式」がコミカライズされていたけど、買っていいものかどうか迷う。くりた陸という漫画家についてはよく知らないのだけれど、作品の傾向はどうも俺のストライクゾーンから外れまくっているように思える。というか「KC デザート」の作家は全般的に趣味にあわない。妹一号がわりとよく買ってくるけど、あいにく面白いとは思えない。そんな雑誌で連載していた漫画家によるコミカライズか。

でも読んでみたいという気持ちも当然あるわけで、さてどうしよう。あんまり安直な物語にしてほしくないんだよ、「博士の愛した数式」に関しては。

09:59

最近、悪夢の舞台が昔の家じゃなくなりつつある。

15:54

C# 3.0 の LINQ、あれって言語でサポートする必要あるの? 例えば Python ならリストの閉包で代用できそうな気が。

class anonymity:
	def __init__(self, **kwds):
		for k, v in kwds.iteritems():
			setattr(self, k, v)

data = [
	anonymity(name="b", number=1),
	anonymity(name="c", number=2),
	anonymity(name="a", number=0),
	anonymity(name="g", number=6),
	anonymity(name="d", number=3),
	anonymity(name="e", number=4),
	anonymity(name="f", number=5),
]

result = [i.name for i in sorted([j for j in data if j.number > 4], key=lambda x:x.number)]

for v in result:
	print v

あんまり綺麗じゃないな。

ところで次みたいな関数はどうだろう。

def linq(iterable, where, orderby, select):
	cond = eval('lambda x: x.%s' % where)
	return [getattr(i, select) for i in sorted([j for j in iterable if cond(j)], key=lambda x: getattr(x, orderby))]

for i in linq(data, 
		where='number > 4', 
		orderby='number', 
		select='name'):
	print i

微妙過ぎ。実行するたびに eval したりしてごにょってるのはどうなんだ、これ。もしもループの内部にあったら悲惨な事になりそうな予感。関数を生成してそれを返せばいいのか?

def linq_maker(where, orderby, select):
	cond = eval('lambda x: x.%s'%where)
	member = lambda x: getattr(x, orderby)
	def _linq(iterable):
		return [getattr(i, select) for i in sorted([j for j in iterable if cond(j)], key=member)]
	return _linq

linq = linq_maker(data, 
		where='number > 4', 
		orderby='number', 
		select='name')
for i in linq(data):
	print i

でもこれだと、与えるデータが膨大になるにつれて酷いことになるんじゃなかろうか。関数内関数から外側で定義されている物を参照するわけだから、それだけアクセスが遅くなるような。上記の data を 100000 回繰り返した奴を食わせた結果、そこまで酷いパフォーマンスの低下にはならなかったけど。

あれ? そういやなんで俺はこんなものを真面目に作っているんだ? というかそもそも、最初にこれを書きはじめた理由は LINQ よりもリストの閉包をくれだったような。まあいいや。

18:49

今日は K-1 のリアルタイム感想はやらないからな。いや、見終ったら書くけどさ。

21:05

K-1 MAX 日本代表決定トーナメントの感想。

トーナメントは下馬評通り佐藤が優勝。ぶっちゃけ地味だけど、こういう選手こそしっかりと評価されてほしいね。

他の選手では山本優弥が印象に残ったかな。気持ちはわかるが、あそこで止めなきゃ選手生命に関りかねないからなー。根性のありそうな選手なので、今後に期待。 TATSUJI もかなり良い選手っぽいし、やはり中量級の方が国内勢は勢いがある。

あとレミギウス・モリカビュチスが化け物だということはわかっていたはずなんで、もう少し強い相手と当ててください。こういう実力差があまりにもはっきりした試合は、寒いとかそういうのよりも恐ろしく危険なので。

23:19

なんかサイトによっては日本語の表示が上手くいかない (文字がずれて重なったりする) のだが。これはやはり Opera がへたれって事なのか、それとも使っているフォントに問題があるのか、あるいは両方か。手元に Win マシンが無いので厳密に比較できないのだけど、多分フォントのせいだろうね。表示サイズを変更すれば直るのだけど、それって解決とは言えないしな。

Written by Kuwata Chikara
Creative Commons