gpt4 book ai didi

d - 如何在 D 2.0 中将 InputRange!(dchar) 与 Stdin 一起使用?

转载 作者:行者123 更新时间:2023-12-04 03:01:51 25 4
gpt4 key购买 nike

我正在尝试编写通用代码,可以将任何字符流( dchar s) lex 到任何地方...无论是来自文件还是来自 stdin进入另一个文件或 stdout .

我该怎么做呢?

好像stdinstdout痛苦 InputRange 一起使用和 OutputRange (因为我每次都必须手动包装它们),而且我不能使用 std.stdio.Stream因为它给了我字节,而不是字符串......而且我找不到任何适配器可以轻松地从一个转换为另一个。

如此有效,我找不到使用 stdin 的好方法/stdout在我的程序中。

有什么东西,例如像 .NET 的 TextReader可以抽象地将文本阅读为 InputRange!dchar不管它的输入是字符串、控制台还是文件?

最佳答案

需要 dchar 的正确函数输入范围是:

void func(Range)(Range input)
if(isInputRange!Range && is(ElementType!Range == dchar))
{}

但是,您必须有一个从 stdin 获取其输入的输入范围。有人说需要返工 stdio/streaming,但尚未完成。有一个 undocumented rangedchar对于标准输入。

关于d - 如何在 D 2.0 中将 InputRange!(dchar) 与 Stdin 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6261744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com