【发布时间】:2015-01-07 06:17:49
【问题描述】:
有什么方法可以让 Pycco 将 doctests 识别为代码并适当地呈现它们?
例如以下函数的文档字符串
def fib(i):
""" Fibonacci number
>>> fib(10)
55
"""
if i < 2:
return i
else:
return fib(i-1) + fib(i-2)
在 Pycco 中渲染如下
Fibonacci number
fib(10) 5
显然>>> 被解释为缩进并且代码高亮没有生效。这似乎是一个常见的用例。有没有我错过的插件?
【问题讨论】:
-
看代码,cmets是被markdown处理的,所以
>>>提示符被解释为引用部分的开始。如果您想要更多格式选项,您可能需要寻找其他地方;sphinx是规范的选择,并且确实支持文档测试(参见例如 sphinx-doc.org/ext/doctest.html)。 -
是的,我知道。我希望由于它的流行,这可能会在某个插件中出现特殊情况。
-
FWIW,当您只使用 CPython 时,doctest 很方便,但如果您引入 Pypy、Jython 或 IronPython(或不同版本的 CPython...),则 doctest 可能会成为障碍。跨度>