问题标签 [ranged-loops]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
81 浏览

c++ - 从头到尾迭代基于范围的 for 循环

从最后一项到第一项的反向迭代可以这样完成:

如何反转基于范围的 for 循环:

0 投票
4 回答
87 浏览

python - 有没有更短的方法来找到答案 m[i,j] 其中 m[i, j] = m[i-1,j] + m[i, j-1] + 1 的值?

我的作业中有一个问题涉及数组和 for 循环。

该问题要求您找出 的值int(m[3,4])

我试过写出m[i, j]forij0 到 5 范围内的所有值来 find m[3,4],但我想知道是否有更短的做事方式?

预期答案是 34。

0 投票
1 回答
121 浏览

html - 当我将角色向右移动时,如何逐帧迭代多个精灵?

我以前从未制作过 html5 游戏,我为一个简单的穿越游戏制作了一些精灵。我想让我的角色在向右移动时使用四个不同的精灵帧的数组,然后循环直到最后一个,直到我停止移动,然后它会反转循环并循环回到原始的精灵帧。我想左右运动都有这个功能。我想要相同的功能,但精灵在向左移动时朝向相反的方向。如果我的角色与敌方精灵发生碰撞,我希望每个方向的第五个精灵帧触发并在游戏结束时保持精灵。这是一个存在两个精灵的游戏,一个对应于玩家在与敌人碰撞时移动的每个方向。玩家的总精灵是 10,

敌人的精灵仅由两帧组成,它们无限循环直到游戏结束。

最后一帧用于目标,它是一个不会改变的静态帧。

我怎样才能使这项工作?

我是新手,所以我不知道我是否应该或如何准确地构建一个数组来循环遍历每个方向的图像,或者我是否应该做一些 for 循环或 if 循环或每个循环?

0 投票
4 回答
58 浏览

c++ - 旧编译器的基于范围的循环到旧样式

最近我试图使用此代码从字符串生成 MD5。

但是,我使用的编译器不支持基于范围的 for 循环,我尝试for(...;...;...)使用下面提供的代码将此代码转换为传统循环。

什么时候,我测试它不起作用,因为我得到一个空字符串。我很难找到错误所在。我应该如何用传统的 for 循环重新实现第一个代码?

0 投票
1 回答
101 浏览

c++ - 迭代的“基于范围”调用是什么

我最近想知道远程工作是如何工作的,最后得到了如下图:

对于每次迭代,只有当前对象的更新以在一个循环中完成工作,这对我来说是体面的解释。
   
 
但是当我尝试将范围和迭代器组合到一个混合类中时,
它应该在我的代码中调用哪个运算符++,
从某种意义上说,它应该是在基于范围的情况下调用派生类方法,
因为我将对象创建为派生对象,我的声明是虚拟的。

此处提供了代码,第一部分很好,但第二部分对我来说很奇怪。

这个输出是

但它应该像

这件事出错是因为我用错了吗?
还是有一个我还没有找到的错误?

0 投票
3 回答
177 浏览

c++ - C++ 范围与手动 for 循环

我是 C++ 新手,为了练习,我一直在projecteuler.net上解决一些问题。其中一个问题涉及分析一个 1000 位数字,因此我编写了一个程序,可以读取该数字并将其存储在一个向量中。为了测试我的代码,我将向量打印到控制台。我很困惑,因为如果我使用手动指定的索引for循环,它会打印出正确的值,但是当我将 rangedforauto&关键字一起使用时,它会感到困惑并打印出错误的值。

这是我的代码:

这个版本打印出正确的 1000 位数字,但如果我使用

数字是错误的。正确的数字是

而“转移”的是

谁能向我解释发生了什么事?

0 投票
1 回答
258 浏览

python - 在 python 中解决列表推导

因此,我一直在学习 Python 中的列表推导,但不了解嵌套列表推导在 Python 中如何工作的逻辑。考虑以下代码片段:

好的,这一切都说得通,但是当我想使用列表推导重新创建这些时,逻辑对我来说没有意义。现在考虑这些例子:

所以我不知道为什么,但我希望输出 L 和 L1(示例 1 和 3)是相同的,无论使用传统方式还是列表理解方式,K 和 K1(示例 2 和 4)也是如此当我比较 Q 和 Q1 的输出时(例如 5 和 6)。就像比较 Q1 和 K1(示例 4 和 6)一样,它们几乎遵循相同的语法,但输出却大不相同。

我希望我能够根据与传统方式相比,这些列表理解中的每一个给出的输出来澄清我的困惑。我尝试在线搜索并遵循教程,但它们只是陈述示例,而不是解释其背后的工作或逻辑。我只是不想在不知道输出为何如此的原因的情况下搞砸输出。谢谢您的帮助 :)

0 投票
5 回答
418 浏览

c++ - 使用自定义 less 运算符实现迭代 std::map 会减少它包含的元素

假设我有以下简单程序(http://cpp.sh/5sygh):

输出仅包含 2 个项目,而不是地图中的 4 个:

我在这里想念什么?

0 投票
1 回答
52 浏览

c++ - 对范围内的 for 循环感到困惑

对我来说,这不会产生预期的结果:

第二个for循环似乎没有做任何事情。基于范围的for循环是只读的,还是我遗漏了什么?

0 投票
1 回答
65 浏览

c++ - 为什么我不能使用范围 for 循环打印对象向量的内容?

我是一个初学者,我解决了一个涉及 10 个吃馅饼的人的练习,其中吃的馅饼数量由用户输入设置。

  1. 第一项任务:显示参赛者人数和吃的馅饼 - 已解决;
  2. 第二项任务:找到吃掉馅饼最多的获胜者并列出所有 - 已解决;
  3. 第三项任务:找到吃掉馅饼最少的失败者并列出所有 - 已解决;
  4. 最后的任务:对参赛者进行排序并按照吃的最多的馅饼的顺序列出他们 - 部分解决。

我做了一切,没有错误或警告(甚至在调试器中跨步/进入显示向量已正确排序),但是当我尝试打印出排序的向量时,控制台屏幕将不再显示任何内容(甚至程序执行完成的标准消息)。

我用带有两个参数的构造函数 Contestant 创建了一个 Contestant 类,并声明了一个对象向量。这是main,类头和类解决方案中的代码:

类头(已编辑,仅用于排序和打印,在类之外):

和类解决方案(只是分类和打印出类之外的部分):

最后,这里是示例输出: 输出

一切正常,但它不会打印出矢量或警告它有任何问题。尝试过,通过常量或非常量引用传递所有东西,尝试直接在 main 中编写函数体(避免函数),但没有。并且访问向量并打印出内容与赢家和输家向量的情况相同(即使它们是指向饼食者向量的对象元素的指针向量)

我究竟做错了什么?