Julia 如何让Automa.jl接受来自标准输入的输入?
我有一些代码,可以使用解析字符串。我相信它只是从左到右穿过绳子。我的输入文件只有一行,非常大,所以我希望避免将其全部加载到内存中。因此,我希望我的代码能够处理来自stdin的(巨大的)字符串,但我不知道如何处理。以下是我的代码(由Jakob Nissen编写): 如何更改它,使parsestring接受来自stdin的字符串 我的输入文件只有一行,非常大,所以我希望避免将其全部加载到内存中 你可以映射它Julia 如何让Automa.jl接受来自标准输入的输入?,julia,Julia,我有一些代码,可以使用解析字符串。我相信它只是从左到右穿过绳子。我的输入文件只有一行,非常大,所以我希望避免将其全部加载到内存中。因此,我希望我的代码能够处理来自stdin的(巨大的)字符串,但我不知道如何处理。以下是我的代码(由Jakob Nissen编写): 如何更改它,使parsestring接受来自stdin的字符串 我的输入文件只有一行,非常大,所以我希望避免将其全部加载到内存中 你可以映射它 using MMap Mmap.mmap(file) 并将结果向量{UInt8}传递给pa
using MMap
Mmap.mmap(file)
并将结果向量{UInt8}
传递给parsestring
如何更改它,使parsestring接受来自stdin的字符串
stdin
是一个流,因此您需要parsestring
才能接受IO
对象。我猜“内部数组”可能是无限的,因此您不能只拆分块并将它们作为字符串提供给解析器?备选方案:用于将数组转换为合理的空格和换行格式。@phipsgabler在第一个[[和第一个]]之间有4个内部数组。这些就是我所关心的,即使字符串前后都有文本。每个内部数组中的数字数量完全相同,我知道这是什么。如果可以避免的话,我也不想将整个内部数组读入RAM。啊,我明白了。那我的想法没用了,谢谢。我必须弄清楚如何使用IO对象。
using MMap
Mmap.mmap(file)