2015-05-26 8 views
8

sto guardando questo frammento di codice:Un letterale "*" in reStructuredText

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

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

E non appena corro Sfinge, ottengo l'errore oh-così utile:

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

Quindi, ho provato param ``*``args, param :literal:'*' args e ho ancora ricevuto l'avviso.

Come si dispone di un letterale '*' in ristrutturato testo?

+1

vostro rientro in realtà non è così? –

+1

@PadraicCunningham: No, certo che non lo è.^_ ~ – Sardathrion

risposta

10

È possibile utilizzare il (un po 'brutto) backslash citazione: \*

EDIT: Come un addendum (un po' brutto), se siete preoccupati per pylint avvertimento circa il backslash, si potrebbe aggiungere un r alla stringa letterale: r""" ... docstring ... """. Questo è stato descritto in this pylint issue.

Avere sistemi di elaborazione del testo diversi che funzionano bene insieme distrugge a volte l'estetica.

+0

risposta aggiornata, vedere la mia modifica – knitti

-1

Nel testo ristrutturato è possibile utilizzare la direttiva .. code :: python.

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

Ciò consente di creare un blocco letterale di codice Python senza alcuna brutta '\' caratteri.

Ecco come si presenta:

.. code:: python 

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

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

Un esempio di utilizzare la funzione è qui:

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

+0

Questo è per la documentazione in codice, quindi voglio il carattere "*" nella stringa doc, non mostrare l'intera funzione/metodo. – Sardathrion