我可以解压这样的经典元组:
let pair = (1, true);
let (one, two) = pair;
Run Code Online (Sandbox Code Playgroud)
如果我有一个元组结构,如果我struct Matrix(f32, f32, f32, f32)尝试解压缩它,我得到一个关于"意外类型"的错误:
struct Matrix(f32, f32, f32, f32);
let mat = Matrix(1.1, 1.2, 2.1, 2.2);
let (one, two, three, four) = mat;
Run Code Online (Sandbox Code Playgroud)
结果出现此错误:
error[E0308]: mismatched types
--> src/main.rs:47:9
|
47 | let (one, two, three, four) = mat;
|
= note: expected type `Matrix`
found type `(_, _, _, _)`
Run Code Online (Sandbox Code Playgroud)
如何解压缩元组结构?我是否需要将其显式转换为元组类型?或者我需要硬编码吗?
迭代器有一个skip跳过第一个n元素的方法:
let list = vec![1, 2, 3];
let iterator = list.iter();
let skip_iter = iterator.skip(2); //skip the first 2 elements
Run Code Online (Sandbox Code Playgroud)
我找不到一个方法只跳过n迭代器中的-th元素.我是否需要自己实现某些功能,或者我找不到某个方法?
我正在用 F# 构建一个程序,其中需要计算整数值的平方根。我搜索后发现没有任何函数可以在不使用强制转换的情况下执行此操作int -> float。
是否有一个函数可以计算整数的平方根而无需进行不必要的转换?