gpt4 book ai didi

intellij-idea - 如何在 Intellij IDEA 参数中使用通配符

转载 作者:IT王子 更新时间:2023-10-29 02:13:17 26 4
gpt4 key购买 nike

我尝试在运行配置中添加参数。

我添加了 master sequential pg-*.txt。但是当我开始运行时。错误出来了。

/usr/local/go/bin/go run /home/asus/dev/6.824/src/main/wc.go master sequential pg-*.txt
master: Starting Map/Reduce task wcseq
panic: open pg-*.txt: no such file or directory

但是我在终端中使用命令就OK了。

~/dev/6.824/src/main$ /usr/local/go/bin/go run /home/asus/dev/6.824/src/main/wc.go master sequential pg-*.txt
master: Starting Map/Reduce task wcseq
Merge: read mrtmp.wcseq-res-0
Merge: read mrtmp.wcseq-res-1
Merge: read mrtmp.wcseq-res-2
master: Map/Reduce task completed

我认为问题出在通配符上。那么如何在 Intellij IDEA 参数中使用通配符呢?

最佳答案

字符串 pg-*.txt 被称为 glob图案。在后一个示例中,您要求 shell 执行包含 glob 模式的给定命令。 shell 将 glob 模式评估为预处理步骤。然后,Go 程序会收到与该模式匹配的文件列表。

您必须更新您的 IntelliJ 设置才能在 shell 中运行该程序,如 In JetBrains IDEs (e.g. CLion, IntelliJ), external tools cannot use globbing patterns 中所述。堆栈溢出问题。通过在 shell 进程中评估初始 go run 命令,您的程序将按预期接收参数。

另一种解决方案是将所有参数视为 glob 模式并利用 filepath.Glob(pattern string) (matches []string, err error)函数手动扩展提供的参数。此策略需要您的程序进行更多的预处理,但对运行时环境的容忍度更高。您可以在 Go Playground Example 中看到这种扩展的示例.

关于intellij-idea - 如何在 Intellij IDEA 参数中使用通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39684417/

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