問題タブ [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.
extension-methods - Dの拡張メソッド?
皆さん、私はこれらの構文を理解できるようにしようとしています:
と
( に見られるようにphobos/src/std/string.d
)
私が知る限り、これは次のようなことを可能にするコードです。
これは基本的に、CSharp から知っている拡張メソッドのようなものが d で可能であると信じさせます。私が抱えている問題は次のとおりです。
- ここで正しい関数宣言を見ていると100%確信が持てないこと
- 何が似ているのかわかりません。
input - D2 (Phobos) で単一のキーストロークを取得するには?
Phobos を使用して D2 で単一のキーストロークを取得する簡単なクロスプラットフォームの方法はありますか?
たとえば、「続行するには任意のキーを押してください...」というプロンプトや、Brainfuck インタープリターなどです。
私が試したすべてのメソッドでは、入力を渡す前に Enter キーを押す必要があります (たとえば、getchar())。
exception - Phobos (および/または Tango) には、定義済みの例外タイプのセットがありますか?
D のドキュメントは少しごちゃごちゃしているようで、公式サイトのどこにもこの情報を見つけることができません。いくつかの一般的な例外タイプ (NotFiniteNumberException、FileIOException などのタイプ) が必要ですが、これらはコア ライブラリに存在しますか? それとも自分でロールバックする必要がありますか?
d - DMD Phobos から Tango への変換: va_arg - それは何ですか? そして、私はそれを何に置き換えますか?
Phobos のコードを Tango に相当するものに変換しようとしていますが、完全には理解できない次のコードに行き詰まっています。
エラーを引き起こすのは特に va_arg です。
この問題を回避する方法についての洞察を共有できる人はいますか? :-)
d - D 命名規則: Phobos はどのように構成されていますか?
私は便利な関数の独自の小さなライブラリを作成しており、Phobos の命名規則に従おうとしていますが、本当に混乱しています。物事がどこに収まるかをどうやって知ることができますか?
例:
foldRight
Phobosのような (基本的には逆方向の) 関数があった場合reduce
、どのモジュールでそれを見つけることができますか?
私はいくつか考えることができます:
std.algorithm
:アルゴリズムを表現しているからstd.array
: 配列で使用する可能性が高いためstd.container
: 単一のオブジェクトではなく、コンテナーで使用されるためstd.functional
: 主に関数型プログラミングで使われるためstd.range
: 範囲にも作用するため
しかし、どれが良い選択になるかはわかりません.少なくとも3つについて説得力のある議論をすることができます.
コンベンションは何ですか?
d - 多言語アプリケーションを実行しますか?
多言語アプリケーションの方法を知りたいです。フラグ -J を使用することで可能と思われますが、この機能のドキュメントではありません。このページhttp://www.digitalmars.com/d/2.0/dmd-linux.htmlにあるリンクは間違っているようです
少し例を挙げていただければ幸いです。使用法 -J フラグで可能でない場合は、実行時に検出するための何か
ありがとう
敬具
curl - D etc.c.カールの例
あまり知られていない言語である D は、ライブラリの面ではほとんど役に立ちません。ファイルをダウンロードしようとしていますが、DMD 2 と phobos でそれを行う方法は etc.c.curl ですが... Curl は非常に使いにくいです。そして、どこにも良い例が見つからないので。etc.c.curl を使用して最も簡単な方法でファイルをダウンロードするにはどうすればよいですか?
xml - phobos の std.xml の状態は?
私はphpベースのOOP Webフレームワークをd言語に移植する作業を始めています.phobosのstd.xmlクラスに頼ってファイルやストリームからxmlを読み取ることが安全かどうかを判断するのに苦労しています. . の置き換えについてはかなりの議論があるようでstd.xml
、私自身も 100% d の xml パーサーを開発することを検討しています。
これは非常に趣味のプロジェクトなので、自分の車輪を設計することはあまり気にしません。それは楽しい練習になり、言語についてより早く学ぶ機会を与えてくれます。一方、自分でロールバックする必要がなければ、はるかに迅速に稼働できる可能性があります。
基本的に、ほぼ完全なxml 1.0 仕様をサポートする必要があります。特に、適切に機能するには xml 名前空間と xincludes が必要です。DOMDocument
また、API が、php 、c#、System.Xml.XmlDocument
および javascript の DOM 実装と多かれ少なかれ一致するようにしたいと考えています。特に、フォボスには最後のビットが欠けているようです。また、フォボスはまだ少なくともいくらか流動的であるように思われ、私はそれが流動しているレベルに追いついていません.
そのための大きな問題は、フォボスの解析ツールが私の要件の大部分を提供できることに頼るのはstd.xml
安全ですか、それとも安全のために自分のライブラリにゼロから何かを書くべきですか?
答えるときは、私の要件を考慮してください:
- xmlns の完全なサポート
- xincludes
- ファイル、ストリーム、または文字列から読み取ることができる必要があります
- 大きなDOMの実装と仕様にできるだけ似ている必要があります
d - 動的型を返す
私は次のようなテンプレートを知っています
しかし、これはどのタイプが返されるかをユーザーに尋ねる必要があります。私は次のようにどのタイプが返されるかをメソッド内で計算したいです:
オブジェクトにキャストしてプロトタイプを変更できるかどうかわかりません。
ありがとうございます
c - この C コードを D にどのように接続しますか?
この C を D に変換する方法:
これは正しいです ?