问题标签 [usage-message]

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.

0 投票
8 回答
6039 浏览

command-line - 命令行“用法”应该打印在 stdout 还是 stderr 上?

打印应用程序的“使用情况”时,应该在 stdout 上还是在 stderr 上完成?

根据应用程序,我见过几个案例,但似乎没有一个规则。也许我错了,有一种很好的做法。在那种情况下,它是什么?

0 投票
4 回答
776 浏览

wolfram-mathematica - 格式化使用消息

如果你看一下Mathematica8中的Combinatorica包,你会发现函数的定义。我有兴趣知道 Mathematica 如何知道如何格式化使用消息。有些东西告诉我,我没有查看正确的文件。无论如何,让我们尝试以下方法:(mathematicapath)/AddOns/LegacyPackages/DiscreteMath/Combinatorica.m

这一行就是上面提到的文件中的682行。现在,如果我们在mathematica notebook 中运行它并使用?Cofactor,我们将看到完全相同的消息。但是如果我们得到包,那么消息就会被格式化。这是一个屏幕截图:

在此处输入图像描述

注意函数中的 m、i 和 j 是如何变化的,并且在消息中添加了一个双箭头。我认为箭头已添加到消息中,因为它存在文档。有人可以解释这种行为吗?


编辑:这是我的笔记本文件的屏幕截图,它自动保存到 m 文件。

在此处输入图像描述

如您所见,LandM是斜体时代的新罗马。现在我将加载包并查看使用情况。

在此处输入图像描述

到现在为止还挺好。现在让我们看看文档中心。我会寻找功能LineDistance

在此处输入图像描述

如您所见,它显示了一条奇怪的消息。在这种情况下,我们只想显示没有任何样式的消息。我仍然无法弄清楚这个Combinatorica包是如何做到的。我按照这个来制作索引,以便文档中心可以显示摘要。摘要本质上是使用情况显示。让我知道是否需要更具体。

0 投票
4 回答
5007 浏览

c++ - 在控制台应用程序中包含“帮助”消息的最佳方式是什么?

我正在编写一个控制台应用程序,它正在迅速获得许多命令行参数和标志。出于这个原因,我希望用户能够访问这些标志的描述以及它们的用途。

我能想到几种可能的解决方案

  • 我可以编写一个 README 文件并将其粘贴在与可执行文件相同的目录中。优点是简单且可移植,但缺点是有人很容易删除/编辑文件。
  • 我可以将整个消息粘贴在程序中的一个变量中,并在用户键入mycmd --help或类似内容时将其打印到屏幕上。优点,保留可执行且不可编辑,缺点在于代码,因为我会在下面浮动类似的东西。

    /li>
  • 我可以为我的程序编写一个man条目,但这不是很便携,因为该应用程序在 Windows 和 Linux 上的使用几乎相同。

我知道这个问题可能是一个品味问题,但我只是好奇是否还有其他我没有想到的人们过去使用过的解决方案。

理想情况下,这对开发人员(目前是我)来说很容易编辑和保持更新,但其他人无法真正搞砸它。

0 投票
1 回答
1467 浏览

python - Python Argparse将文本添加到使用消息

我正在开发一个小型 Python 程序,该程序需要获取一些命令行参数并使用 argparse 来显示使用消息。我有这两条线

要求是我向用户显示此消息:

但是我向用户展示的是 -

我怎样才能把[-r R]变成[-r ROW](以同样的方式[-c C]变成[-c COLUMNS])?

我已经看了很多 argsparse 文档但无济于事......

0 投票
1 回答
48 浏览

python - 为程序编写良好使用输出的最佳实践

我一直在网上寻找解释如何编写程序的良好使用输出的指南。

假设我有一些用 Python 编写的小程序:

假设我这样调用这个程序:

py someProgram.py -s1 SOMETHING1 -s2 SOMETHING2

前 2 个参数是必需的,其他 2 个参数不是。

使用消息的良好做法是什么?

我想到了这样的事情:

Usage: py program.py -p1 param1 [-p2 param2]

这是正确的吗 ?我觉得这个-p1 param1部分是错误的,它看起来不正确。

编辑:好的,我在argparse文档中 迷失了方向。有人可以提供一个简单的例子来说明我的需要吗?是否可以将2个参数连接在一起?可以说如果我试图访问 args.u 它会给我 param1 值吗?