如何在文档代码中写一行,但让编译器忽略它?
我想写
/// # Examples
///
/// To clone something, do
///
/// ```
/// IGNORE_FOR_COMPILATION_BUT_SHOW: let cloned = myValue.clone();
/// # let cloned = 5.clone();
/// ```
我想得到:
要克隆某些内容,请执行
let cloned = myValue.clone();
但编译器仍应编译示例(克隆5)。
编辑:我也希望货物能够运行这个例子,但只留下一行。
答案 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;
}
}