小编eis*_*man的帖子

我怎样才能像经典元组那样解压缩元组结构?

我可以解压这样的经典元组:

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)

如何解压缩元组结构?我是否需要将其显式转换为元组类型?或者我需要硬编码吗?

struct tuples rust tuple-struct

11
推荐指数
1
解决办法
655
查看次数

如何跳过Rust迭代器中的第N个元素?

迭代器有一个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元素.我是否需要自己实现某些功能,或者我找不到某个方法?

iterator skip rust

6
推荐指数
2
解决办法
2068
查看次数

F# Int 的平方根

我正在用 F# 构建一个程序,其中需要计算整数值的平方根。我搜索后发现没有任何函数可以在不使用强制转换的情况下执行此操作int -> float

是否有一个函数可以计算整数的平方根而无需进行不必要的转换?

floating-point int f# types sqrt

2
推荐指数
1
解决办法
2558
查看次数

标签 统计

rust ×2

f# ×1

floating-point ×1

int ×1

iterator ×1

skip ×1

sqrt ×1

struct ×1

tuple-struct ×1

tuples ×1

types ×1