2012-01-01から1年間の記事一覧

【D言語】無名列挙体のメンバを取得したい【enum】

最近、グローバルに定義された無名列挙体のメンバをコンパイル時に取得したいということがありました。 しかし、どうにもうまく行きませんでした・・・

【D言語】dmdのバグ【Issue 9169】

D言語erの皆さん、こんにちは。 今回は、ついこの前、間接的に(?)ぶつかったバグである、Issue 9169を軽く紹介していきます。 あまり関係ないですが、もうバグ報告数が9000を超えたんですね・・・

【D言語】ctpgの演算子たち【ctpg】

D言語erの皆さん、こんにちは。 今回は、D言語の話題に戻って、ctpgの演算子を少し紹介します。

ZUN曲にZUN進行は頻出するのか?

皆さん、こんにちは。youkeiです。 Aizu Advent Calendarの7日目の記事です。 今回、全くD言語は関係ありません。 本当は、D言語について書きたかったのですが、もうすでにここに書いてしまっていたので、しかたなく、ZUN進行について語っていきます。

【D言語】forwardについて【std.algorithm】

今回は、std.algorithmに最近追加された、forwardテンプレートについて見ていきます。

【D言語?】ctpgの実装について【ctpg】

D言語erの皆さん、こんにちは。 今回は、D言語で書かれたパーサジェネレータである、ctpgの実装についてちょっと話していきます。

【D言語】-profileで関数の実行時間を計測してみる【dmd】

D言語erの皆さん、こんにちは。 今回は、-profileを使って、関数の実行時間を計測してみます。

【D言語】UDAが登場!!使い方を探ってみる!!

D言語erの皆さん、こんにちは。 今回は、最近になって、なぜかウォルたんによって実装された新たな機能である、UDAの使い方について少し書いていきます。

【D言語】パーサジェネレータライブラリ:ctpg v1.0.0 リリース!

D言語erの皆さん、こんにちは。 タイトルにもある通り、ctpgのv1.0.0をリリースしました。 https://github.com/youkei/ctpg

【D言語】エラーの行数がおかしいバグ【Issue 8825】

D言語erの皆さん、こんちには。 今回は、最近見つけたバグについて語っていきます。

【D言語】任意のコンパイルエラーを出す

D言語erのみなさん、こんにちは。 今回は、D言語で任意のコンパイルエラーを出す方法について語ります。

【D言語】enumを使った配列のコンパイル時定数は遅い?

D言語erの皆さん、こんにちは。 今回は、enumを使った配列のコンパイル時定数の読み取り速度について書いていきます。

【D言語】テンプレートの遅延インスタンス化

D言語erの皆さん、こんにちは。 今回は、テンプレートの遅延インスタンス化について語ります。

【D言語】__LINE__と__FILE__のバグっぽい挙動

coi loi pilno lo dy. zei bangu dmd v2.060は、template引数のデフォルト値で使われるLINEとFILEについてバグっぽい挙動をします。 その辺について語っていきます。

【D言語】文字列mixinと#lineを組み合わせる

D言語を使うと、文字列mixinと#lineが両方そなわり最強に見える とよく聞きます。 今回は、文字列mixinと#lineの組み合わせが、どう最強に見えるか解説します。

【D言語】ForwardRangeのsaveとは何か?

今回は、ForwardRangeのsaveについて解説します。

【D言語】動的配列を引数とする関数のメモ化

今回は、タイトルにある通り、動的配列を引数とする関数のメモ化に関する問題を掘り下げます。

【D言語】MessagePackを使う

今回は、D言語でMessagePackを扱う方法をとても簡単に紹介します。

【D言語】std.typecons.Tupleを使う

今回は、std.typecons.Tupleとその用途を解説していきます。

【D言語】なぜ is( typeof( { ... } ) ) は動くのか

今回は、D言語でイディオム的に使われている is( typeof( { ... } ) ) の仕組みについて解説していきます。 まずは、 is( typeof( { ... } ) ) のより一般的な場合である is( typeof( Expression ) ) を見ていきます。

【D言語】dmd 2.060 のリリース

先日、dmd 2.060がリリースされました。 ChangeLogを読んで、気になった項目について詳しく解説していきます。

【D言語】任意のメンバー関数の存在を確かめる方法

前回の記事では”型Tがメンバ関数fooを持っているかどうかを確かめるテンプレート”を紹介しました。 しかし、fooで決め打ちというのは、使い勝手があまり良くありません。 そんなわけで、今回の記事では”型Tが任意のメンバ関数を持っているかどうかを確かめる…

メンバー関数の存在を確かめる方法inD言語

D言語でも、メンバー関数の存在を確かめることができます。 なので、今回は"型Tがメンバ関数fooを持っているかどうかを確かめるテンプレート"を紹介します。

メンバー関数の存在を確かめる方法

Dart vs JSX の記事がうまく書けないので、今回はC++11ネタでお茶を濁したいと思います。 C++11では型周りを扱うコードをC++03などに比べるとかなり簡単に書けるようになりました("C++ SFINAE" 等で検索すると良いです)ので、今回は"型Tがメンバ関数fooを持…

D言語のUFCSを使い倒す

こんにちは。 今回は、dmdに最近実装された機能であるUFCSを使って、AOJの簡単な問題をなるべくセミコロンを打たずに解いていきます。

D言語の動的配列

D言語の動的配列は、C言語などの配列とはかなり違うので、そのへんをつらつらと語っていきます。

Dartで遊んでみよう.2 [vs JSX その1]

こんばんは! 第二回はDartと他の言語との比較ということで、DeNA発のJSXというプログラミング言語との比較を行なってみようと思います。vs JSXです! 1回では纏まりそうにないので、複数回に分けていこうと思います。 それでは、軽くJSXの説明を行います。D…

D言語の標準ライブラリを読む read!(std.functional, 2)

前回に引き続き、今回もPhobosのstd.functionalを読んでいきます。 今回は、 std.functional.memoizeを読みます。

Dartで遊んでみよう.1

――― 「Dartってプログラミング言語知ってる?」「知らない」 いきなりこのような見出しで始まりました「Dartで遊んでみようシリーズ」ですが、今日は最初ということで「Dartの紹介」と「『Dartって新しいくせに特徴全然無いよね』とか言われて悲しい」をテー…

D言語の標準ライブラリを読む read!(std.functional, 1)

D言語を勉強したいなら、標準ライブラリであるPhobosを読めとよく言われています。 D言語の機能の殆どは、Phobos内で使われていると言っても過言ではないでしょう。 そんなわけで、std.functionalモジュールのソースコードを読んでいきます。