【问题标题】:A literal "*" in RestructuredTextRestructuredText 中的文字“*”
【发布时间】:2015-08-07 21:23:28
【问题描述】:

我在看这个sn-p的代码:

def ook(*args):
    """Some silly function.

    :param *args: Optional arguments.
    """
    ...

一旦我运行 Sphinx,我就会收到一个非常有用的错误:

WARNING: Inline literal start-string without end-string.

所以,我尝试了param ``*``argsparam :literal:'*' args,但仍然收到警告。

我如何在 restructuredText 中有一个文字“*”?

【问题讨论】:

  • 你的缩进不是这样的?
  • @PadraicCunningham:不,当然不是。 ^_~
  • 在这种情况下,我不会在参数定义中包含星号 - 它不是参数名称的一部分

标签: python python-sphinx restructuredtext


【解决方案1】:

在重组文本中,您可以使用 ..code::python 指令。

http://docutils.sourceforge.net/docs/ref/rst/directives.html#code

这允许您创建一个没有任何难看的“\”字符的 Python 代码块。

看起来像这样:

.. code:: python

    def ook(*args):
        """Some silly function.

        :param *args: Optional arguments.
        """
        ...

这里有一个使用你的函数的例子:

http://rst.ninjs.org/?n=c8ad07eaea190745755a6d80d37786e6&theme=basic

【讨论】:

  • 这是用于代码内文档的,所以我想要文档字符串中的“*”字符,而不是显示整个函数/方法。
  • 链接失效
【解决方案2】:

你可以使用(有点难看的)反斜杠引号:\*

编辑:作为一个(有点难看的)附录,如果您担心 pylint 关于反斜杠的警告,您可以在字符串文字中添加 rr""" ... docstring ... """。这是在this pylint issue 中描述的。

让不同的文本处理系统很好地协同工作有时会破坏美感。

【讨论】:

  • 只是想补充一点,这也发生在引号中,如""" a "comment """,也可以用反斜杠修复,如""" a \"comment\" """"
猜你喜欢
  • 2018-11-23
  • 1970-01-01
  • 2012-02-18
  • 2012-09-28
  • 2013-02-24
  • 1970-01-01
  • 2021-04-12
  • 1970-01-01
  • 2020-01-28
相关资源
最近更新 更多