2006-12-11から1日間の記事一覧

内包表記的な何か

早速作ってみました。 template comp(alias var){ U[] comp(T, U)(T ary, lazy U dg){ U[] ret; foreach (val; ary){ var = val; ret ~= dg; } return ret; } } void main(){ int x; int[] ary = [1, 2, 3, 4, 5]; foreach(v; comp!(x)(ary, x*x)){ writefln…

Pythonを始めよう

別にみんぱい買ったというわけでもないんですが、学校のPCにpython入ってるし暇なので今からpythonの入門を始めます。でも手元にあるのは「やさしいLisp入門」… とりあえず対話モードでHello, World! >>> print "Hello, World!" Hello, World!ほげほげ。次リ…

内包表記的な何か続き

一時変数を予め宣言しなくても良いcompが出来ました。_!(T)を使います… void* placeholder; T _(T)(){ return *(cast(T*)placeholder); } U[] comp(T, U)(T ary, lazy U dg){ U[] ret; foreach (val; ary){ placeholder = &val; ret ~= dg; } return ret; } …

toDynamic

テンプレート引数の型推論には若干柔軟さに欠けるところがあります。 例えば文字列リテラルを渡すと「char型の要素Nの静的配列」と推論してくれるわけですが、本当は動的配列だと推論して欲しい、ということがよくあります。 そういうときに静的な配列型から…