問題タブ [phobos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
297 参照

d - std.algorithm.map の結果に対する std.array.replace の使用

std.array.replaceだから私は今日Dプログラミング言語をいじっていましたが、戻り値の型で使用する方法に関する情報を見つけることができませんでした.std.algorithm.map

残念ながら、これは機能しません。代わりに、次のエラー メッセージで失敗します。

main.d(15): エラー: テンプレート std.array.replace がどの関数テンプレート宣言とも一致しません。候補は次のとおりです: /usr/share/dmd/src/phobos/std/array.d(1652): std.array.replace(E, R1, R2)(E[] subject, R1 from, R2 to) if (isDynamicArray !(E[]) && isForwardRange!R1 && isForwardRange!R2 && (hasLength!R2 || isSomeString!R2))

main.d(15): エラー: template std.array.replace(E, R1, R2)(E[] subject, R1 from, R2 to) if (isDynamicArray!(E[]) && isForwardRange!R1 && isForwardRange! R2 && (hasLength!R2 || isSomeString!R2)) は、引数の型 !()(MapResult!(unaryFun, int[]), int, int) からテンプレート関数を推測できません

のドキュメントにstd.algorithm.mapは、遅延評価を使用していると書かれていますがstd.array.array、結果を変換するために使用しても機能しません。

DMD 2.064.2 を使用しています。

0 投票する
1 に答える
166 参照

sockets - Dソケットプログラミング基本接続スクリプト

私は D プログラミングにまったく慣れていないので、無知を許してください。Web サイトに接続してページをダウンロードするか、安らかな API に接続して情報をダウンロードするための基本的なプログラムを作成しようとしています。今、私が心配する必要があるのは、TCP (ストリーム) だけです。std.socket ライブラリを使用しています。残念ながら、適切な構文を示すオンラインまたはドキュメントはあまり見つかりません。私は PHP と C++ でこれを行い、概念を理解しましたが、構文については本当に助けが必要です。誰かが例やリンクを投稿できれば、それは大歓迎です!

0 投票する
3 に答える
149 参照

d - 要素のインプレース順序付け

Phobos には、左辺値参照引数を配置する可変アルゴリズムがありますか? 何かのようなもの

order(a, b, c)また、タプルを返す機能的なバリアント、たとえばもいいでしょう。

そうでない場合は、 を使用する必要があると思いますstd.algorithm:swap

http://forum.dlang.org/thread/eweortsmcmibppmvtriw@forum.dlang.org#post-eweortsmcmibppmvtriw:40forum.dlang.orgも参照してください。

0 投票する
1 に答える
114 参照

d - 不変範囲のデカルト積

2 つの不変範囲のデカルト積を計算できないのはなぜですか?

次のコード:

投げる:

さらに、2番目の最初の不変が削除された場合、それは機能します。

phobos の実装によれば、範囲の 1 つは inputRange であり、もう 1 つは forwardRange です。なぜそのようなテンプレートの制約?

0 投票する
1 に答える
65 参照

replace - D: 文字列内のスペースのエスケープ

文字列"foo bar baz"があり、それを に変換したいと考えてい"foo\ bar\ baz"ます。手作業によるハッキング方法 ( を呼び出しsplitてから、適切なセパレーターで再結合する) 以外に、これを行う別の方法はありますか? replaceフォボスに関数のようなものはありますか?

0 投票する
1 に答える
125 参照

d - BinaryHeap の配列からの奇妙な動作

Node他のオブジェクトへの参照を持つオブジェクトを使用して、ツリーのような構造を持っていNodeます。Nodeクラスです。今、私が書いているルーチンの 1 つは、最小優先度のキューを必要とします。これは、 と を使用して実装しstd.container.BinaryHeapていstd.container.Arrayます。次のようにインスタンス化しています。

ルーチンの一部として、 using に要素を挿入し、heapusinginsertから要素を削除しremoveAnyます。現在、ルーチンは正しく機能しますが、その後、ノードが欠落しているため、ツリーのような構造が壊れます (それに対する私の不変条件は失敗します)。ここで何が起こっていて、なぜこれが起こっているのですか?