Programming in D
この本は、以下の形式でも入手可能だ。(訳注: これらはすべて英語版)
- 紙版またはKindle版
(これは、寄付を歓迎しているD言語財団に利益をもたらすAmazonアソシエイトリンクだ。) - educative.ioでインタラクティブコースとして、
- Gumroadで"お好きな価格"で電子書籍として、
- およびPDF、EPUB、AZW3、MOBI形式で無料でダウンロード可能。
章
- アンドレイ・アレクサンドレスクによる序文
- 序文
- Hello Worldプログラム
main writelnとwrite- コンパイル
- 基本型
char int double (and more) - 代入と評価の順序
= - 変数
- 標準入力および標準出力ストリーム
stdin stdout - 標準入力からの読み込み
- 論理式
bool true false ! == != < <= > >= || && if文if elsewhileループwhile continue break- 整数と算術演算
++ -- + - * / % ^^ += -= *= /= %= ^^= - 浮動小数点型
.nan .infinity isNaN - 配列
[] .length ~ ~= - 文字
char wchar dchar - スライスとその他の配列機能
.. $ .dup capacity - 文字列
char[] wchar[] dchar[] string wstring dstring - 標準入力および標準出力ストリームのリダイレクト
- ファイル
File autoおよびtypeofキーワードauto typeof- 名前スコープ
forループfor- 三項演算子 ?:
?: - リテラル
- フォーマット出力
writef writefln - フォーマットされた入力
do-whileループdo while- 連想配列
.keys .values .byKey .byValue .byKeyValue .get .remove in foreachループforeach .byKey .byValue .byKeyValueswitchとcaseswitch, case, default, final switch- 列挙型
enum .min .max - 関数
return void - 不変性
enum const immutable .dup .idup - 値型と参照型
& - 関数パラメータ
in out ref inout lazy scope shared - l値とr値
auto ref - 遅延演算子
- プログラム環境
main stderr - 例外
throw try catch finally - スコープ
scope(exit) scope(success) scope(failure) assertとenforceassert enforce- ユニットテスト
unittest - 契約プログラミング
in out - ライフタイムと基本操作
null値とis演算子null is !is- 型変換
to assumeUnique cast - 構造体
struct . {} static, static this, static ~this - 可変長パラメータ
T[]... __MODULE__ __FILE__ __LINE__ __FUNCTION__ (and more) - 関数のオーバーロード
- メンバー関数
toString const refパラメータおよびconstメンバー関数const ref, in ref, inout- コンストラクタおよびその他の特殊関数
this ~this this(this) opAssign @disable - 演算子オーバーロード
opUnary opBinary opEquals opCmp opIndex (and more) - クラス
class new - 継承
: super override abstract - オブジェクト
toString opEquals opCmp toHash typeid TypeInfo - インターフェース
interface static final destroyとscopeddestroy scoped- モジュールとライブラリ
import, module, static this, static ~this - カプセル化と保護属性
private protected public package - ユニバーサル関数呼び出し構文(UFCS)
- プロパティ
- 構造体およびクラスの契約プログラミング
invariant - テンプレート
- プラグマ
aliasとwithalias withalias thisalias this- ポインタ
* & - ビット演算
~ & | ^ >> >>> << - 条件付きコンパイル
debug, version, static if, static assert, __traits is式is()- 関数ポインタ、デリゲート、およびラムダ
function delegate => toString - 構造体およびクラスを使用した
foreachopApply empty popFront front (and more) - ネストされた関数、構造体、およびクラス
static - 共用体
union - ラベルと
gotogoto - タプル
tuple Tuple AliasSeq .tupleof foreach - その他のテンプレート
template opDollar opIndex opSlice - その他の関数
inout pure nothrow @nogc @safe @trusted @system CTFE __ctfe - ミックスイン
mixin - 範囲
InputRange ForwardRange BidirectionalRange RandomAccessRange OutputRange - その他の範囲
isInputRange ElementType hasLength inputRangeObject (and more) static foreach- 並列処理
parallel task asyncBuf map amap reduce - メッセージパッシングによる並行処理
spawn thisTid ownerTid send receive (and more) - データ共有の並列処理
synchronized, shared, shared static this, shared static ~this - ファイバー
call yield - メモリ管理
calloc realloc emplace destroy .alignof - ユーザー定義属性(UDA)
@ - 演算子の優先順位
コードサンプルを
キーワード索引