查看“Rust”的源代码
←
Rust
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
[https://www.rust-lang.org/ Rust] 是一门赋予每个人构建可靠且高效软件能力的语言。 == 笔记 == === 更新 <code>HashMap</code> 的值 === 直接使用 {{code|rust|2=hmap["key"] = 42}} 会报错,说 <code>HashMap</code> 没有 implement <code>IndexMut</code>。可以使用如下的方法 <ref>[https://stackoverflow.com/a/30414450/10974106 How can I update a value in a mutable HashMap?]</ref> <syntaxhighlight lang=rust> *hmap.get_mut("key").unwrap() = 42; // 或者 *hmap.entry("key").or_insert(42) += 10; </syntaxhighlight> == 代码片段 == === 将某些不满足要求的 <code>Ok</code> 转化为 <code>Err</code> === <syntaxhighlight lang=rust> /// Turns into an `Err(anyhow::Error)` some `Ok`s that meet the predicate trait AdjustResult<T, E> { fn adjust(self, predicate: impl Fn(&T) -> bool, msg: &str) -> Result<T> where E: Into<anyhow::Error>; } impl<T, E> AdjustResult<T, E> for Result<T, E> { fn adjust(self, predicate: impl Fn(&T) -> bool, msg: &str) -> Result<T> where E: Into<anyhow::Error>, { match self { Ok(o) if predicate(&o) => Err(anyhow!(msg.to_string())), Ok(o) => Ok(o), Err(e) => Err(e.into()), } } } </syntaxhighlight> == 参考资料 == <references /> [[Category:Rust]]
该页面使用的模板:
模板:Code
(
查看源代码
)
返回至
Rust
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息