Comentários
Os comentários começam com dois cortes para a frente (//
) e continuam até ao fim da linha.
Tais comentários finais podem aparecer em qualquer lugar do código de origem.
Q# não suporta atualmente comentários de bloco.
Comentários de documentação
Comentários que começam com três cortes dianteiros, ///
são tratados especialmente pelo compilador quando aparecem antes de um tipo ou declaração callable.
Nesse caso, os seus conteúdos são tomados como documentação para o tipo definido ou callable, como para outras línguas .NET.
Dentro de ///
comentários, o texto a aparecer como parte da documentação da API é formatado como Markdown, com diferentes partes da documentação indicada por cabeçalhos especialmente nomeados.
Como extensão a Markdown, podem incluir referências cruzadas a operações, funções e tipos definidos pelo utilizador, Q# utilizando @"<ref target>,"
o local onde <ref target>
é substituído pelo nome totalmente qualificado do objeto de código que está a ser referenciado.
Opcionalmente, um motor de documentação também pode suportar extensões adicionais de Markdown.
Por exemplo:
/// # 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# reconhece os seguintes nomes como cabeçalhos de comentário de documentação.
- Resumo: Um breve resumo do comportamento de uma função ou operação ou o propósito de um tipo. O primeiro parágrafo do resumo é utilizado para informações sobre hover. Devia ser um texto simples.
- Descrição: Descrição do comportamento de uma função ou operação ou do propósito de um tipo. O resumo e a descrição são concatenados para formar o ficheiro de documentação gerada para a função, operação ou tipo. A descrição pode conter símbolos e equações formatados em linha laTeX.
- Entrada: Descrição do tuple de entrada para uma operação ou função. Pode conter subsecções de markdown adicionais que indiquem cada elemento do tuple de entrada.
- Saída: Uma descrição do tuple devolvido por uma operação ou função.
- Parâmetros do tipo: Uma secção vazia que contém uma subsecção adicional para cada parâmetro genérico do tipo.
- Itens nomeados: Uma descrição dos itens nomeados num tipo definido pelo utilizador. Pode conter subsecções markdown adicionais com a descrição de cada item nomeado.
- Exemplo: Um pequeno exemplo da operação, função ou tipo de utilização.
- Observações: Prosa diversa descrevendo algum aspeto da operação, função ou tipo.
- Consulte também: Uma lista de nomes totalmente qualificados que indiquem funções, operações ou tipos definidos pelo utilizador.
- Referências: Uma lista de referências e citações para o item documentado.