13.04環境下でdmdをソースコードからビルドしてみます。g++やgitが必要です。INSTALL_DIR=/usr/local環境にもよりますが、ビルドには大体1分くらいかかります。-jやMODELやINSTALL_DIRは適宜変えてください。4);}今までは、上のdefBothのようなことを実現するために、文字列mixinを使わざるを得ませんでした。mixinを使うことができます。書かなくてはいけないカッコが1組減るので、見やすくなっています。以前、テンプレート引数として使われるLINEとFILEがバグっぽい挙動をするという記事を書きました。Requestが来ました。https://github.com/D-Programming-Language/dmd/pull/2617ドキュメントによると、テンプレート引数のデフォルト値として使われるLINEとFILEは、インスタンス化された場所の値になります。今までは、インスタンス化された場所ではなく使用された場所の値になっていました。mixinが使いやすくなります。mixinのインターフェースを提供できるようになります。07:10【D言語】__LINE__と__FILE__の挙動を修正するPullReqTweetもっと読むコメントを書く2013-09-30【D言語】std.exception.ifThrownD言語std.exceptionにはifThrownという関数があります。ifThrownは、例外が投げられた時、投げられた例外に応じて任意の値を返すことができるものです。catchよりも関数型な書き方ができます。main.d2なかなか便利に使えます。前回の記事では、どちらかというとビルドツールとしてのdubの紹介になりました。今回は、パッケージマネージャとしてのdubを見てみます。code.dlang.orgに、dubで使用出来るパッケージの一覧があります。vibe.dや、derelictなどの名前が見られます。前回の記事に出てきたpackage.jsonの中に、dependenciesという項目がありました。ここに、パッケージ名とバージョンを追加することによって、そのパッケージを使用出来るようになります。例として、ctpgパッケージを使ってみましょう。ctpgは、コンパイル時のパーサジェネレータです。ctpg_testpackage.jsonを以下のように書きます。}}バージョンの部分に書かれている~masterは、githubでのmasterブランチをバージョンとして使用するという意味です。source/app.dで実際にctpgを使ってみます。/tmp/dub/1480571894/ctpg_test...42308ちゃんとctpgが使えました!同じようにして、vibe.dやderelictを使うこともできます。06:09【D言語】パッケージマネージャとしてのdubTweetもっと読むコメントを書く2013-09-05【D言語】D言語のビルドツール兼パッケージマネージャ、dubD言語D言語のパッケージマネージャ兼ビルドツールであるところのdubが便利なので、導入しつつ軽く使ってみます。Windowsの場合ここに、インストーラがあります。Ubuntuの場合ここにLinux用のバイナリがあります。D-APTからでもインストールできます。10.7用のバイナリがあります。Homebrewを使ってインストールする事もできます。'/home/〜〜〜/hoge'.すると、hogeディレクトリの中に様々なディレクトリと、package.jsonというファイルが作成されます。package.jsonの中身は、以下のようになっています。}}適当に編集しましょう。既存のプロジェクトをdubでビルドできるようにするには、このpackage.jsonを自分で書きます。dubは、デフォルトではsourceディレクトリまたはsrcディレクトリ内のソースコードをビルドしてくれます。==========となります。