1

Pycco に doctest をコードとして認識させ、適切にレンダリングさせる方法はありますか?

たとえば、次の関数のドキュメント文字列

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

明らかに>>>インデントとして解釈され、コードの強調表示が機能しませんでした。これは一般的な使用例のようです。私が行方不明のプラグインはどこかにありますか?

4

1 に答える 1

1

Python は、スイートが docstring の残りの部分に比べてさらに 4 文字インデントされていても、それが内部的に一貫している限り気にしませんdoctest。したがって、以下は問題なくテストに合格します (2.7.9 および 3.4.2 でテスト済み):

def test():
    """Doctest test

    The following are doctests:

        >>> test()
        'foo'

    That went well.

    """
    return 'foo'

if __name__ == "__main__":
    import doctest
    doctest.testmod(verbose=True)

pyccoこの追加のインデントは、SO の Markdown にあるように、によってコード ブロックとして解釈されます。上記のテストは、HTML で次のようにレンダリングされます。

レンダリングされた pycco HTML のスクリーン グラブ

于 2015-01-06T22:17:49.140 に答える