当前位置: 首页 > java >正文

Rust 学习笔记:关于迭代器的练习题

Rust 学习笔记:关于迭代器的练习题

  • Rust 学习笔记:关于迭代器的练习题
    • 以下哪一项最好地描述了为什么迭代器被描述为惰性?
    • 以下两个代码片段在语义上是否等效?
    • 以下程序能否通过编译?若能,输出是?

Rust 学习笔记:关于迭代器的练习题

参考视频:

  1. https://www.bilibili.com/video/BV1kiNzeJE4t

以下哪一项最好地描述了为什么迭代器被描述为惰性?

A. 迭代器在调用提取元素的方法之前没有任何效果
B. 迭代器只会迭代给定数量的项目
C. 迭代器会创建它迭代的每个项目的副本
D. 迭代器获取它正在迭代的项目序列的所有权

答:A。

以下两个代码片段在语义上是否等效?

while let Some(x) = iter.next() {f(x);
}
for x in iter {f(x);
}

答:等效。

以下程序能否通过编译?若能,输出是?

fn main() {let v = vec![1, 2, 3, 4];let a: Vec<_> = v.iter().filter(|x: &&i32| *x % 2 == 0).map(|x: &i32| x * 2).collect();let b: Vec<_> = v.iter().map(|x: &i32| x * 2).filter(|x: &i32| x % 2 == 0).collect();println!("{} {}", a[0], b[0]);
}

答:可以通过编译。输出:4 2。

http://www.xdnf.cn/news/9502.html

相关文章:

  • 用 Python 和 Rust 构建可微分的分子势能模型:深入解析 MOLPIPx 库
  • Rust: CString、CStr和String、str
  • 电商售后服务系统与其他系统集成:实现售后流程自动化
  • Eclipse 插件开发 5.3 编辑器 监听输入
  • AI Agent工具全景解析:从Coze到RAGflow,探索智能体自动化未来!
  • Java、Python、PHP 三种语言实现 二进制与十六进制的相互转换
  • 板凳-------Mysql cookbook学习 (八)
  • Java开发经验——阿里巴巴编码规范实践解析4
  • HTML5 视频播放器:从基础到进阶的实现指南
  • TypeScript 索引签名:灵活处理动态属性对象
  • STM32通过KEIL pack包轻松移植LVGL,并学会使用GUI guider
  • CRM系统的数据库结构详细设计
  • 【大模型原理与技术-毛玉仁】第四章 参数高效微调
  • 基本面高股息策略
  • RabbitMQ 与其他 MQ 的对比分析:Kafka/RocketMQ 选型指南(二)
  • c++结构化绑定
  • Python应用while循环猜数字
  • webpack的安装
  • 签约!京东云与契约锁达成战略合作,携手共推全程数智化解决方案
  • 【计算机网络】IPv6和NAT网络地址转换
  • 【Prometheus+Grafana实战:搭建监控系统(含告警配置)】
  • Vue开发系列——Vue中常见实现区别及Vue.js 模板编译原理
  • EC800GCN 华系列 DTU 开发板介绍
  • 基于 Flink+Paimon+Hologres 搭建淘天集团湖仓一体数据链路
  • 家政小程序开发,开启便捷生活新篇章
  • Visual Studio 的下载安装
  • 常用 Linux 命令---服务器开发和运维相关命令
  • JVM内存溢出:诊断处理与预防全攻略
  • 【pycharm】如何连接远程仓库进行版本管理(应用版本)
  • ModbusTcp协议