Freigeben über


Kommentare

Kommentare beginnen mit zwei Schrägstrichen (//) und fahren bis zum Ende der Zeile fort. Solche End-of-Line-Kommentare können an einer beliebigen Stelle im Quellcode angezeigt werden. Q# unterstützt derzeit keine Blockkommentare.

Dokumentationskommentare

Kommentare, die mit drei Schrägstrichen beginnen, ///, werden speziell vom Compiler behandelt, wenn sie vor einem Typ oder einer aufrufbaren Deklaration angezeigt werden. In diesem Fall werden deren Inhalte als Dokumentation für den definierten Typ oder aufrufbar wie für andere .NET-Sprachen verwendet.

Innerhalb /// Kommentaren wird text, der als Teil der API-Dokumentation angezeigt wird, als Markdown-formatiert, wobei verschiedene Teile der Dokumentation durch speziell benannte Header angegeben sind. Als Erweiterung für Markdown können Querverweise auf Vorgänge, Funktionen und Strukturtypen in Q# mithilfe von @"<ref target>," eingeschlossen werden, wobei <ref target> durch den vollqualifizierten Namen des Codeobjekts ersetzt wird, auf das verwiesen wird. Optional kann ein Dokumentationsmodul auch zusätzliche Markdown-Erweiterungen unterstützen.

Beispiel:

/// # 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# erkennt die folgenden Namen als Dokumentationskommentarkopfzeilen.

  • Zusammenfassung: Eine kurze Zusammenfassung des Verhaltens einer Funktion oder eines Vorgangs oder des Zwecks eines Typs. Der erste Absatz der Zusammenfassung wird für Hoverinformationen verwendet. Es sollte Nur-Text sein.
  • Beschreibung: Eine Beschreibung des Verhaltens einer Funktion oder eines Vorgangs oder des Zwecks eines Typs. Die Zusammenfassung und Beschreibung werden verkettet, um die generierte Dokumentationsdatei für die Funktion, den Vorgang oder den Typ zu bilden. Die Beschreibung kann inline formatierte LaTeX-formatierte Symbole und Formeln enthalten.
  • Eingabe-: Eine Beschreibung des Eingabe-Tupels für einen Vorgang oder eine Funktion. Kann zusätzliche Markdown-Unterabschnitte enthalten, die jedes Element des Eingabe-Tupels angeben.
  • Ausgabe-: Eine Beschreibung des Tupels, das von einem Vorgang oder einer Funktion zurückgegeben wird.
  • Typparameter: Ein leerer Abschnitt, der einen zusätzlichen Unterabschnitt für jeden generischen Typparameter enthält.
  • benannte Elemente: Eine Beschreibung der benannten Elemente in einem Strukturtyp. Kann zusätzliche Markdown-Unterabschnitte mit der Beschreibung für jedes benannte Element enthalten.
  • Beispiel: Ein kurzes Beispiel für den Vorgang, die Funktion oder den Typ, der verwendet wird.
  • Anmerkungen: Verschiedene Prose, die einen Aspekt des Vorgangs, der Funktion oder des Typs beschreiben.
  • Siehe auch: Eine Liste vollqualifizierter Namen, die verwandte Funktionen, Vorgänge oder Strukturtypen angeben.
  • Verweise: Eine Liste der Verweise und Zitate für das dokumentierte Element.