- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑程序:
fn main() {
let mut nums = vec![1, 3];
let mut counter = 0;
for mut p in nums.into_iter().cycle() {
println!("{}", p);
p += 1;
if p > 10 {
break;
}
counter += 1;
if counter > 1000 {
println!("ERROR");
break;
}
}
}
我预计它会打印 1、3、2、4、3、5,...直到它达到 10 然后停止。相反,我收到了警告:
warning: variable does not need to be mutable
--> src/main.rs:2:9
|
2 | let mut nums = vec![1, 2, 3];
| ----^^^^
| |
| help: remove this `mut`
|
然后是一个无限循环(嗯,只是有限的,因为我在其中添加了 counter
)。为什么这是一个无限循环?
我想要的行为也可以这样写:
for idx in (0..nums.len()).cycle() {
let p = &mut nums[idx];
println!("{}", p);
*p += 1;
if *p > 10 {
break;
}
}
这行得通 - 但我不想遍历索引,我想直接遍历值。有没有办法写出我想要的东西?
最佳答案
cycle()
迭代器适配器通过克隆迭代器中的每个值来工作,以便它们可以被多次遍历。由于这是在 nums.into_iter()
之上应用的,因此向量被完全消耗并且 p += 1
不会修改保留在循环适配器中的向量。该计划不会因为没有取得任何进展而结束。
您可能需要一个可变引用的迭代器,以便修改向量而不是消耗向量。但是不允许循环可变引用的迭代器,因为适配器需要克隆这些引用,这是非法的。可以以独有方式处理传入项的流式迭代器可能允许您这样做,但如果没有 generic associated types (GATs),这样的 API 将无法使用。 .
一种可能的解决方案是不使用 .cycle()
:创建一个外部循环多次遍历向量,并在预期条件到达时显式中断该循环。
let mut nums = vec![1, 3];
let mut counter = 0;
'outer: loop {
for p in nums.iter_mut() {
println!("{}", p);
*p += 1;
if *p > 10 {
break 'outer;
}
counter += 1;
if counter > 1000 {
println!("ERROR");
break 'outer;
}
}
}
关于loops - 为什么不更新使用 cycle() 创建的迭代器的可变值,导致无限循环,尽管有停止条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59253936/
发生这种情况是否有特定原因,或者可能有很多不同的原因?我不知道为什么我的程序打印出它正在打印的值,因为我希望它打印出整数。相反,我得到了这个: 周期@173a10f循环@a62fc3循环@a62fc3
长期读者,第一次发帖。 :) 我正在使用 jQuery Cycle 插件,可以在此处下载:http://jquery.malsup.com/cycle/ 我在帖子部分工作得很好,但是收到了一个请求,要
我正在使用 Malsup 的 Cycle() JQuery 插件,并尝试让它显示图库中的图像、缩略图列表以及每个缩略图下的标题。我的代码如下:
我在页面上使用jQuery Cycle(完整)插件,在该页面上使用宽度为75%的容器DIV(.content-left),并且在该容器内部使用jQuery Cycle幻灯片放映。该容器内的图像应自动调
我正在尝试使用 AFNetworking2.6.3 的 UIImageView 扩展从远程服务器获取图像。一切正常,图像已返回并成功渲染。但我在 Xcode7.3.1 中收到保留周期警告:在此 blo
我收到以下错误: [循环]终止;幻灯片太少:1 下面是 jQuery Cycle 的代码。我不知道为什么 Chrome 中会出现这个 var inners = $('ul#output li').cy
看来我已经超越了自己。一直以来,我都在创建这个漂亮的“最新消息”小部件,它会在鼠标悬停在每个 anchor 上时消失。然后我的同事说,“嘿,克里斯,这些链接不起作用” ...糟糕。我想知道我是否可以让
我可能在尝试一些愚蠢的事情,但我有一个足够大的 非-onionified Cycle.js 应用程序,我正在尝试学习如何 onionify可行,所以我想将一个 onionified 组件嵌入到我原来的
我必须检查 jQuery Cycle 幻灯片是否终止。我需要检查一下,因为我有多个幻灯片,我按顺序运行它,但是,当出现日志“[cycle] termination;too少幻灯片:1”时,因为幻灯片只
我构建了一个图像 slider ,旨在通过淡入和淡出在四个图像之间进行转换。我使用了 J Query 插件“Cycle”并将效果设置为“淡入淡出”。我还希望让用户能够通过将光标悬停在图像上来暂停幻灯片
我在我的程序中实现了这个伪代码来检查有向图是否是非循环的: L ← Empty list that will contain the sorted elements S ← Set of all no
我有时读到有些指令需要的时间少于一个时钟周期——这怎么可能?或者这就是流水线和乱序进入游戏时的值(value)? 最佳答案 来自 http://en.wikibooks.org/wiki/Microp
我需要能够通过程序循环我的 linksys 路由器,我想这样做的原因很复杂,所以让我们假设没有更好的选择。 有没有办法做到这一点?我认为这是因为当我通过管理控制台向路由器安装固件更新时,它会循环路由器
(我使用 OCaml 版本 4.02.3) 我定义了一个类型 self # type self = Self of self;; type self = Self of self 及其实例 s # l
我有相对较小(40-80 个节点)三次(3-正则)平面图,我必须确定它们的哈密顿性。我知道这个任务是 NP 完全的,但我希望渐近指数时间算法对于我感兴趣的图大小来说仍然非常快。 最佳答案 40 个节点
如何使用具有三个值的 {cycle}?这段代码有什么问题: value value1 最佳答案 我认为你需要给它们起唯一的名字: {cycle name='
我目前正在使用 jQuery.Cycle 来循环几个子项 标签。但是,我希望默认的周期 fx 为 fade ,当我点击next时或prev选择器,我希望循环效果暂时更改为 scrollRight或sc
我的 jQuery.cycle 插件有问题。第一次加载页面时(当未缓存图像时),它显示小图像,例如缩略图。您可以在(编辑:抱歉,旧链接)看到它 - 只需等待第二张图片显示即可 - 它很小。重新加载/刷
我正在使用循环插件并且它运行良好。但是 slider 一直在滑动,我不知道应该使用什么选项来防止它自动播放。 $('#thumbs').cycle({ fx: 'scrollH
我使用循环构建了一个播放器,可以循环播放各种宣传片,但我想为每个页面(1、2、3 等除外)定义特定的描述性寻呼机链接。我知道这应该是可能的,但不知道如何实现...即使我在寻呼机 div 中添加了元素,
我是一名优秀的程序员,十分优秀!