#quiz #explanation #hard #medium #complete

app rust-quiz

中等至困难的 Rust 问题,附完整解释

6 个版本

0.0.6 2023年11月19日
0.0.5 2022年5月23日
0.0.4 2021年1月1日
0.0.3 2020年6月12日
0.0.1+crater2019年3月27日

#349 in Rust 模式

CC-BY-SA-4.0

160KB
1K SLoC

Rust Quiz

这个 Rust 程序的输出是什么?


https://dtolnay.github.io/rust-quiz


如果你喜欢 Rust Quiz,也了解 C++,你可能想看看这个项目受启发的 http://cppquiz.org

贡献

欢迎提出新的测验问题建议,可以通过在存储库中提交 GitHub 问题或发送包含你的问题、提示、答案和答案解释的 pull request 来实现。

最好的问题是根据个人编写或阅读 Rust 代码并对其行为感到困惑的经验得出的。

目标是不超过包括空白行在内的 25 行,但更短更好。如果无法更简洁地表达相同的思想,则可接受最多 35 行的问题。目标宽度不超过 40 列。唯一例外是对于明显的不必要阅读来解决问题的模板。

网站显示了“未定义行为”和“无法编译”的选项,但请优先添加可编译且定义良好的问题。

  • 不有趣:“这个程序能编译吗?还是不能?”
  • 不有趣:“这是未定义行为吗?还是不是?”
  • 有趣:“这是打印出明显的可能性 A 还是明显的可能性 B?”

要添加问题,您需要在 questions/ 目录下添加一个 .rs 文件和一个 .md 文件。请选择一个非常简短(2-4 个词)的描述包含在文件名中。请使用 000 作为问题编号以避免并发拉取请求之间的竞争。合并时我将分配编号。

参考现有的 .md 文件并复制格式。特别是,您需要在第一行提供正确答案,在第二行提供难度评级(1、2 或 3),在 提示 部分,以及在 解释 部分。

难度评级应主要反映解决此问题所需知识的难以理解程度。

编写提示时请尽量简短。最多三行,最多两句话是理想的。

在解释中,请尽量详细,但不要停留于与测验问题核心无关的概念。

要在本地启动站点并预览您渲染的Markdown,请在此目录中运行以下命令。

# Package all the questions into a single JavaScript file
# and serve website over http at localhost:8000.
cargo run -- serve

然后您的假设编号为000的问题将在https://127.0.0.1:8000/rust-quiz/0处可访问。

许可证

本存储库中的测验问题、说明、网站以及所有其他知识产权均受知识共享署名-相同方式共享4.0国际许可协议许可。

依赖项

~15–26MB
~398K SLoC