有什么舒适的方式来获取价值Vec<Vec<T>>吗?Vec我可以对普通的一维:执行此操作vec.get(),但如果vec是Vec<Vec>,则 get 返回Some<Vec<T>>,而不是 的值T。有没有一种从二维矩阵()中“获取”值的好方法Vec<Vec<T>>?
Option::and_then让您链接可选返回值(o.and_then(f)相当于o.map(f).flatten()):
vec.get(i).and_then(|v| v.get(j))
Run Code Online (Sandbox Code Playgroud)
它还可以轻松扩展到更高的维度:
vec
.get(i)
.and_then(|v| v.get(j))
.and_then(|v| v.get(k))
.and_then(|v| v.get(l))
// and so on
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |