问题标签 [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
并且一次只返回一个项目的东西延迟加载),所以我的代码将如下所示:
这一切都很好,但我还想做的是在最后打印一些统计数据。像这样的东西:
问题是,像上面那样以“纯功能”风格编写代码,每个项目都是延迟加载的。
在最终的 foreach 循环完成之前,您只知道总共有多少文件匹配,并且因为一次只yield
编辑一个项目,所以代码没有任何地方可以跟踪它之前找到了多少东西。如果您调用 LINQ 的matchingLines.Count()
方法,它将重新枚举集合!
我可以想出很多方法来解决这个问题,但它们似乎都有些难看。它让我印象深刻,因为人们以前一定会做过,而且我相信会有一个很好的设计模式来展示做这件事的最佳实践方式。
有任何想法吗?干杯
regex - RE -> FSM 生成器?
给定一个正则表达式,我正在寻找一个包,它将为实现 RE 的有限状态机动态生成代码。
首选 C/C++ 和 Python,但其他语言也很有趣。
python - 从集合中选择单个项目:Python
我创建了一个实用函数来从生成器表达式返回预期的单个项目
这是一个很好的方法吗?
xml - 是否有可以通过示例创建 XSLT 的 XSL 代码生成器?
给定一个源 XML 文档和它在转换后应该是什么样子的示例,是否有一个代码生成器可以创建一个 XSL 转换来完成它。
我并不期望它是完美的,但是,就像可以从示例 XML 创建 XSD 的代码生成器一样,这将是一个很好的起点,然后手动改进。
generator - 正确计算 IPV6 校验和的 libnet
我最近开始使用 libnet 并使用它来生成 IPV6 数据包。我对编程很陌生,但是,我对这个库很满意。
我有一个问题。似乎 libnet 当前无法正确计算 IPV6 数据包的校验和。作为编程新手,我还没有能力解决这个问题(虽然我正在学习,所以有一天我可以)。
我很好奇,有没有人运行过可以正确执行此操作的库版本?
谢谢!
parsing - ANTLR 是序列化/反序列化二进制数据格式的合适工具吗?
我需要读取和写入八位字节流以通过各种网络发送以与智能电表通信。有一个 ANSI 标准 ANSI C12.19 描述了二进制数据格式。虽然数据格式并不太复杂,但该标准非常庞大(500 多页),因为它描述了许多不同的类型。该标准完全由 EBNF 语法描述。我正在考虑使用 ANTLR 来读取 EBNF 语法或其修改版本,并创建可以读取和写入八位字节流的 C# 类。
这是对ANTLR的好用吗?
如果是这样,我需要做什么才能使用 ANTLR 3.1?通过搜索新闻组档案,我似乎需要实现一个可以读取字节而不是字符的新流。这就是全部还是我还必须实现 Lexer 衍生产品?
如果 ANTLR 可以帮助我读取/解析流,它也可以帮助我编写流吗?
谢谢。
丹芬卡内
python - 在 Python 中读取大文件的惰性方法?
我有一个非常大的 4GB 文件,当我尝试读取它时,我的计算机挂起。所以我想一块一块地读取它,在处理完每一块后将处理后的块存储到另一个文件中并读取下一块。
yield
这些碎片有什么方法吗?
我很想有一个懒惰的方法。
fonts - 创建 PostScript/TrueType 字体
我有字母的坐标(例如使用 SVG)。如何为我的计算机生成 TrueType/PostScript 字体?
(已编辑:将矢量更改为 TrueType/PostScript)
python - 将元素添加到 python 生成器
是否可以将元素附加到 python 生成器?
我目前正在尝试从一组杂乱无章的文件夹中获取所有图像并将它们写入一个新目录。为了获取文件,我使用 os.walk() 返回单个目录中的图像文件列表。虽然我可以从这个单一列表中创建一个生成器,但我不知道如何将所有这些列表组合成一个单一的生成器。任何帮助将非常感激。
有关的:
perl - 如何根据导入类的名称轻松生成 Perl 函数?
我想导出一个函数,该函数取决于导出到的类的名称。我认为这应该很容易,Sub::Exporter
但不幸的是,into
密钥没有传递给生成器。我最终得到了那些丑陋的示例代码:
有没有更好的方法可以在不牺牲所有这些丰富Sub::Exporter
能力的情况下做到这一点?
例如,我想使用其中之一:
编辑:增加Sub::Exporter
了对问题的能力要求。
Edit2:添加了使用示例。