当我使用迭代器时,我经常发现自己需要显式取消引用值。以下代码查找向量中所有元素对的总和:
extern crate itertools;
use crate::itertools::Itertools;
fn main() {
let x: Vec<i32> = (1..4).collect();
x.iter()
.combinations(2)
.map(|xi| xi.iter().map(|bar| **bar)
.sum::<i32>())
.for_each(|bar| println!("{:?}", bar));
}
Run Code Online (Sandbox Code Playgroud)
有没有比使用 a 更好的执行解除引用的方法map?
更好的是无需显式取消引用即可执行这些类型的操作。
在C11标准的6.4.1节中,星号出现在关键字列表中:
keyword: one of
auto ? if unsigned
break inline void
...
Run Code Online (Sandbox Code Playgroud)
这表明这*是一个关键字吗?
如果没有,这里有什么用?
我使用的一个Vim插件有一个错误,导致它设置了:syntax spell notoplevel。如果我:syntax spell toplevel在打开文件后运行命令,则可以轻松缓解该错误。但是,我很懒,我想将修复程序放入init.vim / .vimrc文件中,以便它可以自动运行。
我如何确保在有故障的插件代码后执行我的修复,以使我的设置不会被插件覆盖?