如何在doc测试中忽略的文档中添加一行?

时间:2017-02-20 15:12:43

标签: documentation rust rust-cargo rustdoc

如何在文档代码中写一行,但让编译器忽略它?

我想写

/// # Examples
///
/// To clone something, do
///
/// ```
/// IGNORE_FOR_COMPILATION_BUT_SHOW: let cloned = myValue.clone();
/// # let cloned = 5.clone();
/// ```

我想得到:

实施例

要克隆某些内容,请执行

let cloned = myValue.clone();

但编译器仍应编译示例(克隆5)。

编辑:我也希望货物能够运行这个例子,但只留下一行。

2 个答案:

答案 0 :(得分:5)

documentation表示你可以这样做:

/// ```rust,ignore
/// highlighted as rust code but ignored by rustdoc
/// ```

还有rust,no_run编译但不运行示例代码。

或者,您可以使用与普通代码相同的解决方案:将其注释掉。

/// ```rust
/// let x=5;
/// // x = 6;  // won't be run
/// assert_eq!(x, 5);
/// ```

答案 1 :(得分:5)

如果您想在doctests中忽略Rust代码的一部分,您可能需要阅读running documentation tests上的部分。基本上将该代码提取到不同的块中,并将该块设置为IGNORE_FOR_COMPILATION_BUT_SHOW

这将完全忽略///```rust,ignore ///IGNORE_FOR_COMPILATION_BUT_SHOW: let cloned = myValue.clone(); ///``` ///```rust /// # let cloned = 5.clone(); /// ``` ,但其余的将会运行:

rust,no_run

如果您希望rustdoc编译您的文档测试但不运行它,您可以使用require_once('dom/simple_html_dom.php'); $html = file_get_html('http://www.usmleforum.com/forum/index.php?forum=1'); $elementCount=0; foreach($html->find('td.FootNotes2 a') as $element) { $elementCount++; $element->href = "http://www.usmleforum.com" . $element->href; echo '<li target="_blank" class="itemtitle">'; echo '<span class="item_new">new</span>'; echo $element; echo '</li>'; if($elementCount==10){ break; } }