标签: for-loop

如何在Ruby中创建一个for-integer循环?

我的视图中有一个变量"x".我需要显示一些代码"x"次.

我基本上想要设置一个这样的循环:

for i = 1 to x
  do something on (i)
end
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

ruby for-loop

65
推荐指数
5
解决办法
10万
查看次数

允许使用枚举类的基于范围的For?

我有一个经常出现的代码块,我循环遍历所有成员enum class.

for与新的相比,我目前使用的循环看起来非常笨拙range-based for.

有没有办法利用新的C++ 11功能来减少当前for循环的详细程度?

我希望改进的当前代码:

enum class COLOR
{
    Blue,
    Red,
    Green,
    Purple,
    First=Blue,
    Last=Purple
};

inline COLOR operator++( COLOR& x ) { return x = (COLOR)(((int)(x) + 1)); }

int main(int argc, char** argv)
{
  // any way to improve the next line with range-based for?
  for( COLOR c=COLOR::First; c!=COLOR::Last; ++c )
  {
    // do work
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

换句话说,如果我可以做以下事情会很好:

for( const auto& c : COLOR )
{
  // …
Run Code Online (Sandbox Code Playgroud)

c++ enums for-loop c++11

65
推荐指数
5
解决办法
4万
查看次数

关于使用Enumerable.Range与传统for循环的foreach的思考

在C#3.0中,我喜欢这种风格:

// Write the numbers 1 thru 7
foreach (int index in Enumerable.Range( 1, 7 ))
{
    Console.WriteLine(index);
}
Run Code Online (Sandbox Code Playgroud)

在传统的for循环:

// Write the numbers 1 thru 7
for (int index = 1; index <= 7; index++)
{
    Console.WriteLine( index );
}
Run Code Online (Sandbox Code Playgroud)

假设'n'很小,所以性能不是问题,是否有人反对传统风格的新风格?

.net c# for-loop c#-3.0

64
推荐指数
12
解决办法
4万
查看次数

是否需要范围(len(a))?

人们常常在SO的python问题中找到这种类型的表达式.要么只是访问iterable的所有项目

for i in range(len(a)):
    print(a[i])
Run Code Online (Sandbox Code Playgroud)

这只是一种繁琐的写作方式:

for e in a:
    print(e)
Run Code Online (Sandbox Code Playgroud)

或者为了分配可迭代的元素:

for i in range(len(a)):
    a[i] = a[i] * 2
Run Code Online (Sandbox Code Playgroud)

哪个应该是相同的:

for i, e in enumerate(a):
     a[i] = e * 2
# Or if it isn't too expensive to create a new iterable
a = [e * 2 for e in a]
Run Code Online (Sandbox Code Playgroud)

或者对索引进行过滤:

for i in range(len(a)):
    if i % 2 == 1: continue
    print(a[i])
Run Code Online (Sandbox Code Playgroud)

可以这样表达:

for e in a [::2]:
    print(e)
Run Code Online (Sandbox Code Playgroud)

或者当您只需要列表的长度而不是其内容时:

for _ in range(len(a)):
    doSomethingUnrelatedToA() …
Run Code Online (Sandbox Code Playgroud)

python for-loop range

63
推荐指数
3
解决办法
14万
查看次数

在Java中打破for循环

在我的代码中,我有一个for循环,它遍历代码方法,直到满足for条件.

反正有没有摆脱这个for循环?

因此,如果我们查看下面的代码,如果我们想要在"15"时打破这个for循环怎么办?

public class Test {

   public static void main(String args[]) {

      for(int x = 10; x < 20; x = x+1) {
         System.out.print("value of x : " + x );
         System.out.print("\n");
      }
   }
}

Outputs:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x …
Run Code Online (Sandbox Code Playgroud)

java loops for-loop break

62
推荐指数
4
解决办法
31万
查看次数

for循环如何工作,特别是(;;)?

通过一些旧的公司代码,我遇到了一个看起来像这样的for循环:

for (;;) {
    //Some stuff
}
Run Code Online (Sandbox Code Playgroud)

我试过Google但找不到任何答案.我是在编程课上睡着了还是这是一个不寻常的循环?

java iteration syntax loops for-loop

61
推荐指数
4
解决办法
4万
查看次数

在多个for循环中使用相同的变量名是不好的做法吗?

我只是使用JSHint来绘制一些JavaScript代码.在代码中我有两个for循环,这两个使用如下:

for (var i = 0; i < somevalue; i++) { ... }
Run Code Online (Sandbox Code Playgroud)

因此,两个for循环都使用var i进行迭代.

现在JSHint向我展示了第二个for循环的错误:"'我'已经定义了".我不能说这不是真的(因为它显然是)但我一直认为这无关紧要因为var i仅用于那个特定的地方.

以这种方式使用for循环是不好的做法吗?我应该在我的代码中为每个for循环使用不同的变量

//for-loop 1
for (var i = 0; ...; i++) { ... }

//for-loop 2
for (var j = 0; ...; j++) { ... }
Run Code Online (Sandbox Code Playgroud)

或者这是我可以忽略的错误(因为它不会破坏我的代码,它仍然会做它应该做的事情)?

JSLint顺便说一下.停止在第一个for循环验证,因为我没有在函数的顶部定义var i(这就是我首先切换到JSHint的原因).所以根据这个问题的例子:我应该使用JSLint还是JSHint JavaScript验证? - 无论如何我应该使用像这样的for循环来确认JSLint:

...
var i;
...
//for-loop 1
for (i = 0; ...; i++) { ... }
...
//for-loop 2
for (i = 0; ...; i++) { ... }
Run Code Online (Sandbox Code Playgroud)

这对我来说也很好看,因为这样我应该避免JSLint和JSHint中的错误.但我不确定的是,我是否应该为每个for循环使用不同的变量,如下所示:

...
var i, …
Run Code Online (Sandbox Code Playgroud)

javascript for-loop jslint jshint

61
推荐指数
4
解决办法
1万
查看次数

是否有相当于C++中的"for ... else"Python循环?

Python有一个有趣的for语句,允许您指定一个else子句.

在像这样的结构中:

for i in foo:
  if bar(i):
    break
else:
  baz()
Run Code Online (Sandbox Code Playgroud)

else子句在之后执行for,但仅在for正常终止时(不是由a break)终止.

我想知道C++中是否有相同的东西?我可以用for ... else吗?

c++ python loops for-loop break

61
推荐指数
5
解决办法
1万
查看次数

Java中传统for循环与Iterator/foreach的性能

在遍历ArrayList,HashMap和其他集合时,是否有任何性能测试结果可用于比较传统的for循环与Iterator?

或者我为什么要使用Iterator for循环,反之亦然?

java iterator for-loop arraylist map

60
推荐指数
3
解决办法
5万
查看次数

Java 8:并行FOR循环

我听说Java 8提供了很多关于并发计算的实用程序.因此,我想知道并行化给定for循环的最简单方法是什么?

public static void main(String[] args)
{
    Set<Server> servers = getServers();
    Map<String, String> serverData = new ConcurrentHashMap<>();

    for (Server server : servers)
    {
        String serverId = server.getIdentifier(); 
        String data = server.fetchData();

        serverData.put(serverId, data);
    }
}
Run Code Online (Sandbox Code Playgroud)

java concurrency for-loop java.util.concurrent concurrent-programming

60
推荐指数
4
解决办法
5万
查看次数