问题标签 [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 投票
0 回答
224 浏览

c++ - c ++ ostream运算符在尝试跳过间隔时重载文本格式

我知道如何编写一个重载ostream<<运算符作为类对象的友元方法。我知道如何遍历单循环和双循环。但事实证明,试图实现特定目标text format是一项艰巨的挑战。

这是我的函数的样子:

我的主要内容很简单:

它的输出符合预期。

是的,最后有一个逗号,因为我不关心它。以上仅用于测试我的类的构造是否有效。

我想编辑上面的operator<<重载,以便打印的显示如下所示:

在使用 : 时,我更愿意尝试保持类似于上述循环的简单循环for( auto& e : container):我还想打印西装名称一次,然后为每套西装每行打印一次所有值。如果牌组被扩展,则同样适用,除​​了最后两张牌将位于单独的最后一行,如上所示。

在使用现代 c++ 时,我似乎无法弄清楚如何做间隔

循环类型。我已经尝试在这里展示许多不同的东西,并尽可能缩短这个问题,任何建议都会非常有帮助。

如果您需要了解更多关于class DeckOfCards正在使用的内容,请随时询问:课程非常简单;它包含一个vector<shared_ptr<Card>>和一个布尔值来表示甲板是标准的还是扩展的,并且Card有 2 个字符串。

编辑

我根据用户的建议对上面的循环进行了一些调整:Mitchel0022用作% 13 == 0带有额外变量的条件。

布局非常接近我想要实现的目标。修改后的运算符现在看起来像:

但是输出非常接近我想要的缺少 1 个元素,现在看起来像这样:

唯一没有打印的元素是 Ace。它正在跳过第一个值;可能与变量的if statement和当前值有关cardsPrinted

最终编辑

我所要做的就是将这一行添加到if语句中:

suit入溪流后。现在我的 DeckOfCards 类的输出显示看起来很干净,这要归功于用户Mitchel0022在评论部分的建议。

0 投票
2 回答
94 浏览

vba - VBA:函数比较范围内不同列上的 SUMIFS 并根据布尔值返回 Min 或 Max

我正在尝试在一组重要的列上使用两个参数获取 sumifs(列数不会改变,数据会改变),然后返回最大值或最小值

在进行最小或最大拆分之前,我无法让 SUMIFS 工作。是因为输入错误的参数吗?(我希望清楚!)

非常感谢能帮助我的人!drf

0 投票
1 回答
1294 浏览

c++ - 在基于范围的 for 循环中使用 shared_ptr 到 std::vector

我编写了一个 c++ 函数,它组装一些数据,然后将 a 返回std::shared_ptr到一个新分配std::vector的包含数据的地方。与此类似的东西:

我尝试使用基于范围的 for 循环来迭代向量的内容,但它表现得好像向量是空的。在摆弄之后,我发现我可以通过将函数返回的值分配给局部变量,然后在循环中引用它来让它按预期运行:

剪断打印:

为什么第一个版本不起作用?

我在 macOS Sierra 10.12.6 上使用 Xcode。我相信它正在使用 LLVM 9.0 来编译 c++ 代码。

0 投票
2 回答
59 浏览

templates - 通过引用传递容器时,自动参数或模板推导更好吗?

之间有什么区别(如果有的话)

?

哪个更好?

他们都可以正常工作double store[5]但不能正常工作vector <double> store

旁注:第一个版本无法编译,T (&Array) []因为它是“对未知边界数组的引用”。T& val: Array如果我们改为编写,第二个将不会编译。

0 投票
1 回答
408 浏览

c++ - 使用基于范围的 for 循环填充指针向量

用向量元素的地址填充指针向量的这段代码v可以正常工作:

我将如何使用基于范围的 for 循环获得相同的结果。我试过这样的代码,但它不会正确填充指针向量:

我确定我有一些非常简单的错误 - 但经过一番搜索后无法解决。感谢大家!

0 投票
0 回答
308 浏览

python-3.x - 如何编写一个 for 循环,将代码模板写入 python 3.7 中的文件

我想知道是否有一种方法可以将模板写入 for 循环内的文件。下面的代码是我迄今为止编写的一个示例。open 函数内部的变量等于“python.py”。

这是我期望发生的事情

这是我收到的输出

如何重组我的代码以获得所需的输出?

0 投票
1 回答
31 浏览

excel - 如何使用 For Each 循环查看一张纸上的信息并将形状构建到另一张纸上?

请让我解释一下我想做什么:

(1) 我创建了一个 Excel 工作簿,人们可以在其中编写流程的各个步骤。假设它写在名为“Process A”的工作表上。在每个步骤右侧的单元格中,该人员可以指定该步骤是否需要圆形(用于连接器)、菱形(用于决策)或矩形(用于流程步骤)。

(2) 对于名为“流程 A”的工作表中的每个步骤,我还有条件公式,指示我希望将形状放置在另一张工作表上的位置(左、上、宽、高)(我们称之为“流程图 A” )。如果你想试试这个,我列出的坐标如下: LEFT > Connectors = 147; 流程和决策 = 49

宽度 > 连接器 = 90;流程和决策 = 286

形状的高度 > 连接器 = 90;流程和决策 = 210

箭头的高度 > 所有箭头 = 60

TOP >(基于前一个形状的顶部 + 前一个形状的高度 + 箭头的长度的计算)。例如,如果形状 1 是连接器,形状 2 是进程,那么形状 2 从 150 开始(假设形状 1 的顶部从 0 开始... [0 + 90 + 60]

下面的代码确实生成了所有的形状,但是它将它们全部堆叠在顶点零 (0) 处。

我在编码的位置上尝试了以下变化:

(1) 列出“For Each”语句及其条件。然后列出所有的“下一个语句”。(2) 一起列出所有“For Each”语句,然后是一起列出的所有条件语句,然后是一起列出的所有“Next Statements”。

当我在这些编辑后运行宏时,我收到“编译错误:无效的下一个控制变量引用”。

我是 VBA 的新手,并且尝试了很多方法来完成这项工作,但我觉得我一次又一次地撞到了一堵砖墙。非常感谢您的帮助!先感谢您!

0 投票
0 回答
14 浏览

nested-loops - 如何循环遍历所有工作表的相同范围?

我有 Excel VBA 代码,它将查看一个流程(在标记为“流程 A”的工作表上),并将在标记为流程图的工作表上生成流程图。问题是我可能有多达 15 个不同的进程(在 15 个不同的工作表上,标记为从“进程 A”到“进程 O”)。我想做的是让VBA对“进程A”采取行动,然后继续每个连续的进程并做同样的事情。我在下面给出了部分编码。本质上,代码使用“案例”来确定对象是连接器、决策还是流程。然后,它将与这些中的每一个对应的形状放置在指定的位置,并根据代码进行格式化。我尝试了各种方法来遍历所有工作表和范围,但每种方法都导致失败。

0 投票
2 回答
336 浏览

r - R中的foreach / forvalues循环

我对 Stata 中的循环非常满意,我正在尝试在 R 中编写类似的东西,但我不断收到错误消息——知道为什么这个循环不起作用吗?

我有一个 Excel 表,其中包含每个月的单独选项卡的数据(如月列表中)。我想导入每个单独的选项卡并向其添加年份和月份列。

我已经尝试并尝试研究对 k 值的正确引用,但我无法弄清楚。请帮忙。

0 投票
2 回答
135 浏览

c++ - 如何实现我的自定义范围 for 循环?

我真的很喜欢 C++11 及更高版本支持的基于 Ranged-based-for-loop。我想出于某种理解的原因来模拟它。这是一个例子:

正如您在上面看到的,第一个宏没有得到第一个元素75,而是值0,最后一个不存在。那是因为我猜在我的 main 中,我x在将其分配到循环的后迭代部分之前打印。

  • 第二个宏使程序崩溃,因为我认为取消引用最后一个节点(哨兵节点)。

  • 第三个工作正常,但正如您在宏扩展后看到的那样,我会得到:

    /li>

这是因为上面的行被视为单个语句。有没有更好的方法和解释。谢谢各位好兄弟!。