問題タブ [generator]

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 投票する
6 に答える
399 参照

c# - 遅延リストを集約するための設計パターン

以下のようなプログラムを書いています。

  • 指定されたディレクトリで正しい拡張子を持つすべてのファイルを検索します
  • Foreach、それらのファイルで特定の文字列のすべての出現箇所を検索します
  • 各行を印刷する

これを一連のジェネレーター関数 (yield return一度に 1 つの項目を呼び出して遅延ロードされたもののみを返すもの) として機能的に記述したいので、私のコードは次のようになります。

これで問題ありませんが、最後にいくつかの統計を出力したいと思います。このようなもの:

問題は、上記のように「純粋な関数」スタイルでコードを記述すると、各項目が遅延ロードされることです。
最後の foreach ループが完了するまで、合計で一致するファイルの数しかわかりません。また、一度に 1 つのアイテムしかyield編集されないため、コードには以前に見つかったものの数を追跡する場所がありません。LINQ のmatchingLines.Count()メソッドを呼び出すと、コレクションが再列挙されます。

この問題を解決する方法はたくさん考えられますが、どれもやや醜いようです。これは、人々が以前にやったことがあると思います。これを行うためのベスト プラクティスの方法を示す優れたデザイン パターンがあると確信しています。

何か案は?乾杯

0 投票する
6 に答える
2930 参照

regex - RE-> FSMジェネレーター?

正規表現が与えられた場合、REを実装する有限状態マシンのコードを動的に生成するパッケージを探しています。

C / C ++とPythonが推奨されますが、他の言語も同様に重要です。

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

xml - 例によってXSLTを作成できるXSLコードジェネレーターはありますか?

ソースXMLドキュメントと、変換後の外観のサンプルを考えると、それを実現するためにXSL変換を作成できるコードジェネレーターはありますか。

完璧であるとは思っていませんが、サンプルXMLからXSDを作成できるコードジェネレーターと同様に、手作業で改良することをお勧めします。

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

generator - IPv6 でチェックサムを正しく計算する libnet

最近、libnet をいじり始め、それを使用して IPV6 パケットを生成しました。私はプログラミングに非常に慣れていませんが、ライブラリには非常に満足しています。

ただし、1つの問題があります。現在、libnet には IPV6 パケットのチェックサムを正しく計算する機能がないようです。プログラミングに慣れていないので、まだこの問題を修正することはできません (とはいえ、学習中なので、いつの日か修正できるようになります)。

興味がありますが、これを適切に実行できるライブラリのバージョンに出くわした人はいますか?

ありがとう!

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

parsing - ANTLRは、バイナリデータ形式をシリアル化/逆シリアル化するための適切なツールですか?

スマート電気メーターと通信するためにさまざまなネットワークを介して送信するオクテットストリームを読み書きする必要があります。バイナリデータ形式を説明するANSI規格ANSIC12.19があります。データ形式はそれほど複雑ではありませんが、標準は非常に大きく(500ページ以上)、多くの異なるタイプを記述しています。この標準は、EBNF文法によって完全に記述されています。ANTLRを利用してEBNF文法またはその修正バージョンを読み取り、オクテットストリームを読み書きできるC#クラスを作成することを検討しています。

これはANTLRの良い使い方ですか?

もしそうなら、ANTLR 3.1を利用できるようにするために何をする必要がありますか?ニュースグループのアーカイブを検索すると、文字の代わりにバイトを読み取ることができる新しいストリームを実装する必要があるようです。それですべてですか、それともレクサー派生物も実装する必要がありますか?

ANTLRがストリームの読み取り/解析に役立つ場合、ストリームの書き込みにも役立ちますか?

ありがとう。

ダンフィヌケーン

0 投票する
12 に答える
304647 参照

python - Pythonで大きなファイルを読むための怠惰な方法?

4 GB の非常に大きなファイルがあり、それを読み取ろうとすると、コンピューターがハングします。だから私はそれを少しずつ読みたいと思っています。

これらの作品への方法はありますyieldか?

怠惰な方法があれば幸いです。

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

fonts - PostScript/TrueType フォントの作成

文字の座標を取得しました(たとえば、SVGを使用)。自分のコンピュータ用の TrueType/PostScript フォントを生成するにはどうすればよいですか?

(編集:ベクトルを TrueType/PostScript に変更)

0 投票する
4 に答える
27240 参照

python - Python ジェネレーターへの要素の追加

Pythonジェネレーターに要素を追加することは可能ですか?

現在、整理されていないフォルダーのセットからすべての画像を取得し、それらを新しいディレクトリに書き込もうとしています。ファイルを取得するために、単一のディレクトリ内の画像ファイルのリストを返す os.walk() を使用しています。この単一のリストからジェネレーターを作成することはできますが、これらすべてのリストを単一のジェネレーターに結合する方法はわかりません。どんな助けでも大歓迎です。

関連している:

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

perl - インポートするクラスの名前に応じて Perl 関数を簡単に生成するにはどうすればよいですか?

エクスポート先のクラスの名前に依存する関数をエクスポートしたい。簡単にできるはずだと思っていたのですSub::Exporterが、残念ながらintoジェネレーターにキーが渡されていません。私はそれらの醜いサンプルコードになってしまいました:

Sub::Exporterこの豊富な能力をすべて犠牲にすることなく、それを行うより良い方法はありますか?

たとえば、次のいずれかを使用したいと思います。

編集Sub::Exporter:質問に能力要件を追加しました。

Edit2 : 使用例を追加しました。