問題タブ [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.
c# - 遅延リストを集約するための設計パターン
以下のようなプログラムを書いています。
- 指定されたディレクトリで正しい拡張子を持つすべてのファイルを検索します
- Foreach、それらのファイルで特定の文字列のすべての出現箇所を検索します
- 各行を印刷する
これを一連のジェネレーター関数 (yield return
一度に 1 つの項目を呼び出して遅延ロードされたもののみを返すもの) として機能的に記述したいので、私のコードは次のようになります。
これで問題ありませんが、最後にいくつかの統計を出力したいと思います。このようなもの:
問題は、上記のように「純粋な関数」スタイルでコードを記述すると、各項目が遅延ロードされることです。
最後の foreach ループが完了するまで、合計で一致するファイルの数しかわかりません。また、一度に 1 つのアイテムしかyield
編集されないため、コードには以前に見つかったものの数を追跡する場所がありません。LINQ のmatchingLines.Count()
メソッドを呼び出すと、コレクションが再列挙されます。
この問題を解決する方法はたくさん考えられますが、どれもやや醜いようです。これは、人々が以前にやったことがあると思います。これを行うためのベスト プラクティスの方法を示す優れたデザイン パターンがあると確信しています。
何か案は?乾杯
regex - RE-> FSMジェネレーター?
正規表現が与えられた場合、REを実装する有限状態マシンのコードを動的に生成するパッケージを探しています。
C / C ++とPythonが推奨されますが、他の言語も同様に重要です。
xml - 例によってXSLTを作成できるXSLコードジェネレーターはありますか?
ソースXMLドキュメントと、変換後の外観のサンプルを考えると、それを実現するためにXSL変換を作成できるコードジェネレーターはありますか。
完璧であるとは思っていませんが、サンプルXMLからXSDを作成できるコードジェネレーターと同様に、手作業で改良することをお勧めします。
generator - IPv6 でチェックサムを正しく計算する libnet
最近、libnet をいじり始め、それを使用して IPV6 パケットを生成しました。私はプログラミングに非常に慣れていませんが、ライブラリには非常に満足しています。
ただし、1つの問題があります。現在、libnet には IPV6 パケットのチェックサムを正しく計算する機能がないようです。プログラミングに慣れていないので、まだこの問題を修正することはできません (とはいえ、学習中なので、いつの日か修正できるようになります)。
興味がありますが、これを適切に実行できるライブラリのバージョンに出くわした人はいますか?
ありがとう!
parsing - ANTLRは、バイナリデータ形式をシリアル化/逆シリアル化するための適切なツールですか?
スマート電気メーターと通信するためにさまざまなネットワークを介して送信するオクテットストリームを読み書きする必要があります。バイナリデータ形式を説明するANSI規格ANSIC12.19があります。データ形式はそれほど複雑ではありませんが、標準は非常に大きく(500ページ以上)、多くの異なるタイプを記述しています。この標準は、EBNF文法によって完全に記述されています。ANTLRを利用してEBNF文法またはその修正バージョンを読み取り、オクテットストリームを読み書きできるC#クラスを作成することを検討しています。
これはANTLRの良い使い方ですか?
もしそうなら、ANTLR 3.1を利用できるようにするために何をする必要がありますか?ニュースグループのアーカイブを検索すると、文字の代わりにバイトを読み取ることができる新しいストリームを実装する必要があるようです。それですべてですか、それともレクサー派生物も実装する必要がありますか?
ANTLRがストリームの読み取り/解析に役立つ場合、ストリームの書き込みにも役立ちますか?
ありがとう。
ダンフィヌケーン
python - Pythonで大きなファイルを読むための怠惰な方法?
4 GB の非常に大きなファイルがあり、それを読み取ろうとすると、コンピューターがハングします。だから私はそれを少しずつ読みたいと思っています。
これらの作品への方法はありますyield
か?
怠惰な方法があれば幸いです。
fonts - PostScript/TrueType フォントの作成
文字の座標を取得しました(たとえば、SVGを使用)。自分のコンピュータ用の TrueType/PostScript フォントを生成するにはどうすればよいですか?
(編集:ベクトルを TrueType/PostScript に変更)
python - Python ジェネレーターへの要素の追加
Pythonジェネレーターに要素を追加することは可能ですか?
現在、整理されていないフォルダーのセットからすべての画像を取得し、それらを新しいディレクトリに書き込もうとしています。ファイルを取得するために、単一のディレクトリ内の画像ファイルのリストを返す os.walk() を使用しています。この単一のリストからジェネレーターを作成することはできますが、これらすべてのリストを単一のジェネレーターに結合する方法はわかりません。どんな助けでも大歓迎です。
関連している:
perl - インポートするクラスの名前に応じて Perl 関数を簡単に生成するにはどうすればよいですか?
エクスポート先のクラスの名前に依存する関数をエクスポートしたい。簡単にできるはずだと思っていたのですSub::Exporter
が、残念ながらinto
ジェネレーターにキーが渡されていません。私はそれらの醜いサンプルコードになってしまいました:
Sub::Exporter
この豊富な能力をすべて犠牲にすることなく、それを行うより良い方法はありますか?
たとえば、次のいずれかを使用したいと思います。
編集Sub::Exporter
:質問に能力要件を追加しました。
Edit2 : 使用例を追加しました。