|
|
1
2
编辑2:我刚刚意识到你的代码做到了这一点:
别那么做。这个
我留下剩下的答案,因为我仍然认为它适用,但这几乎肯定是最大的问题。 不幸的是,我不能测试这个,因为我不能识别所有的进口。
如果你只想得到结果
可能需要使用
但是我认为有更好的解决办法,那就是
现在
在更大的应用程序中使用这种样式可能需要进行一些重构甚至重新设计,但结果可能是值得的。 编辑:如果您在重新设计代码时遇到麻烦,可以使用迭代器并完全避免这个问题。 |
|
|
2
1
你强迫在第94行中评估cls的想法是正确的。但我想你这样做并没有成功。看这个 paste 对于我的版本,它运行在大约40MB而不是220MB。 关键是强制还原为正常形式的cls,这是由rnf-cls完成的。这必须在电话回电之前发生。因此: rnf cls`seq`返回cls 或者,可以使用Control.Exception.evaluate: 评估$rnf cls 返回cls |
|
3
0
谢谢你的建议。 我认为对于我的具体问题,解决方案是将.jar文件分成小块处理——幸运的是,内部类在.jar文件中始终与外部类位于同一个目录中,因此不需要在一次运行中处理所有50兆字节。 我唯一不能完全理解的是是否可以通过枚举器使用libzip,或者是否需要一个新的libzip实现? |