Condividi tramite


Commenti

I commenti iniziano con due barre (//) e terminano alla fine della riga. Tali commenti di fine riga possono essere presenti in qualsiasi punto del codice sorgente. Q# attualmente non supporta i commenti per i blocchi.

Commenti sulla documentazione

I commenti che iniziano con tre barre, ///, vengono gestiti in modo speciale dal compilatore quando vengono visualizzati prima di una dichiarazione di tipo o di elemento chiamabile. In tal caso, come per altri linguaggi .NET, il contenuto viene accettato come documentazione per il tipo o l'elemento chiamabile definito.

All'interno dei commenti /// il testo da visualizzare come parte della documentazione dell'API viene formattato come Markdown, con le diverse parti della documentazione indicate da intestazioni con nomi speciali. Come estensione di Markdown, i riferimenti incrociati a operazioni, funzioni e tipi definiti dall'utente in Q# possono essere inclusi usando @"<ref target>," dove <ref target> viene sostituito dal nome completo dell'oggetto codice a cui si fa riferimento. Facoltativamente, un motore di documentazione può supportare anche estensioni di Markdown aggiuntive.

Ad esempio:

/// # Summary
/// Given an operation and a target for that operation,
/// applies the given operation twice.
///
/// # Input
/// ## op
/// The operation to be applied.
/// ## target
/// The target to which the operation is to be applied.
///
/// # Type Parameters
/// ## 'T
/// The type expected by the given operation as its input.
///
/// # Example
/// ```Q#
/// // Should be equivalent to the identity.
/// ApplyTwice(H, qubit);
/// ```
///
/// # See Also
/// - Microsoft.Quantum.Intrinsic.H
operation ApplyTwice<'T>(op : ('T => Unit), target : 'T) : Unit {
    op(target);
    op(target);
}

Q# riconosce i nomi seguenti come intestazioni di commento della documentazione.

  • Summary: breve riepilogo del comportamento di una funzione o operazione oppure dello scopo di un tipo. Il primo paragrafo del riepilogo viene usato per le informazioni al passaggio del mouse. Deve essere testo normale.
  • Description: descrizione del comportamento di una funzione o operazione oppure dello scopo di un tipo. Il riepilogo e la descrizione vengono concatenati per formare il file di documentazione generato per la funzione, l'operazione o il tipo. La descrizione può contenere simboli ed equazioni in formato LaTeX inline.
  • Input: descrizione della tupla di input per un'operazione o funzione. Può contenere sottosezioni aggiuntive di Markdown indicanti ogni elemento della tupla di input.
  • Output: descrizione della tupla restituita da un'operazione o funzione.
  • Type Parameters: sezione vuota contenente una sottosezione aggiuntiva per ogni parametro di tipo generico.
  • Named Items: descrizione degli elementi denominati in un tipo definito dall'utente. Può contenere sottosezioni aggiuntive di Markdown con la descrizione per ogni elemento denominato.
  • Example: breve esempio dell'operazione, della funzione o del tipo in uso.
  • Remarks: prosa varia che descrive un aspetto dell'operazione, della funzione o del tipo.
  • See Also: elenco di nomi completi indicanti funzioni, operazioni o tipo definiti dall'utente correlati.
  • References: elenco di riferimenti e citazioni per l'elemento documentato.