英語版
このページの英語版を見る

変更ログ 2.029

前バージョン: - 次のバージョン:

Download D 2.029
リリース 2009年4月19日

新着/変更されたフォボス

  • std.algorithm
    • すべてがレンジに変換された。大きな混乱。アルゴリズムが追加された。
  • std.array
    • 配列の範囲プリミティブ
    • アペンダーテンプレート
    • 挿入、置換関数
  • std.bitmanip
    • 長さ0のビットフィールドは常に0であると定義される。
    • ビットフィールドの読み込み関数は const である。
  • std.contracts
    • enforceは文字列の代わりにconst(char)[]を受け付ける。
    • 失敗時にデリゲートを呼び出すenforceオーバーロードが追加された。
    • assumeSorted テンプレートが追加された。
    • 構造キャストを実装する structuralCast を追加した。 (不完全)。
  • std.conv
    • 制約付きテンプレートによる変換を書き直した。
    • すべてをテキストに変換するtext()関数を追加した。
  • std.date
    • 簡単なタイミング測定を可能にするベンチマーク関数を追加した。
  • std.file
    • read、write、append、rename、remove、getSize、getTimes、 getAttributes、isfile、isdir、chdir、mkdir、mkdirRecurse、rmdir、 listdir、copy、"in char[]"でファイル名を取る。
    • テキストファイルを読み込んで検証する関数readTextを追加した。
    • ファイルをタプルの配列に読み込む関数slurpを追加した。 例:":
      auto a = slurp!(int, double)("filename", "%s, %s");
      
      例:ファイルの各行は例えば "1, 2.3"のように見える。 (int,double)の配列を返す。
  • std.format
    • 指定子"%()"によるベクトルの解析と表示が追加された。例えば 例えば、writefln("[%(s; )]", [1, 2, 3][]) は "[1; 2; 3]" を書き出す。この サポートは実験的なものであり、将来変更される可能性がある。
    • formattedRead関数を追加した。実装は不完全だが 実装は不完全だが、一般的なケースはサポートされている。
  • std.functional
    • エラーメッセージを改善した。
    • 関数のパラメータ名を文字列として設定できるようにした。
    • Adjoinテンプレートを追加
  • std.getopt
    • パラメータなしデリゲートのサポートを追加
  • std.math
    • std.math.yl2xとyl2xp1のイントリニックを追加した。std.math.log()と同様の関数のパフォーマンスが向上した。 std.math.log()と同様の関数のパフォーマンスが向上した(そして、これらは純粋なnothrowになった)。
  • std.mmfile
    • マイナーな外観上の変更
  • std.numeric
    • 特殊な浮動小数点数(16ビット浮動小数点数など)を定義できるCustomFloat型を追加した。 を定義できるCustomFloat型を追加した。
    • 一時的な値を格納するのに最適な型としてFPTemporaryを追加。
    • oppositeSigns をテンプレート化した
    • ユークリッド距離を追加
    • dotProductの追加
    • cosineSimilarity の追加
    • 正規化を追加
    • 文字列カーネル関数gapWeightedSimilarityを追加した、 gapWeightedSimilarityNormalized、gapWeightedSimilarityIncremental。
  • std.outbuffer
    • write() のオーバーロードをいくつか追加した。
  • std.path
    • getDriveがすべての文字列型で動作するようになった。
    • isabsはchar[]を受け付ける。
    • joinはchar[]内の可変長を受け付ける。
    • fnmatch が char[] で動作するようになった。
  • std.random
    • 与えられた範囲をランダムにカバーするRandomCoverが追加された。
    • 旧式のランダム関数を廃止した。
    • ランダム関数への呼び出しを簡素化するデフォルトのランダムオブジェクトを定義した。 関数" を廃止した。
    • ジェネレーターを範囲インターフェイスに従うように変更した。これにより、以下のように書けるようになった:
      Random r;
      foreach (n; take(100, uniform(0, 100))) { ... }
      
  • std.range (new file)
    • と書くことができる。
  • std.regex (new file)
    • 正規表現ライブラリは幅広い文字列をサポートし、インターフェイスが簡素化されている。 インターフェイス、高速化など。
  • std.regexp
    • 廃止予定。代わりにstd.regexを使おう。
  • std.stdio
    • 主な変更点: File構造体を導入した。 これにより、stdin、 stdout、stderrはFile構造体のインスタンスである。
    • コンパイラのバグにより、Fileのコピーコンストラクタとデストラクタがコメントアウトされた。 のコピーコンストラクタとデストラクタがコメントアウトされている。Walterは近いうちにこの問題を修正する予定だ。 Fileは問題なく動作するが、手動で閉じる必要がある。
    • byRecordイテレーション・モードにより、構造化された テキスト・ファイルを反復するのが非常に簡単になった。
    • writefとwriteflnは最初の引数に文字列を必要とするようになった。
  • std.string
    • strip、stripl、stripr、startWith、endsWithがどの文字列型でも動作するようになった。
  • std.typecons
    • Tupleにコンストラクタ、代入演算子、length、toString、sliceが追加された。 をタプルに追加した。
  • std.utf
    • toUTF16zはchar[]で受け付ける。
  • std.variant
    • 自分自身のベクトルとハッシュを含むバリアントのサポートが追加された。
  • std.c.stdio
    • fopen64とその仲間が追加された

新機能/変更点

  • テンプレート化された関数が追加された。

バグの修正

  • Bugzilla 675: a フォーマットのデノーマルに out-by-1 のバグがある。
  • Bugzilla 2199: 関数呼び出しで配列演算を使用した場合のセグメンテーション・エラー。
  • Bugzilla 2203: typeof(class.template.foo)がコンパイラをクラッシュさせる。
  • Bugzilla 2577: 未定義識別子の foreach で DMD がクラッシュする。
  • Bugzilla 2808: nothrow "ネストされた関数は解析できない。
  • Bugzilla 2812: sqrt(2.0)は約-2.7341e-53である。
前のバージョン: - 次のバージョン: