Tag: 循环

Rails:在数据库中没有元素时显示消息的一种优雅的方式

我意识到,我正在写很多类似于这个的代码: <% unless @messages.blank? %> <% @messages.each do |message| %> <%# code or partial to display the message %> <% end %> <% else %> You have no messages. <% end %> Ruby和/或Rails中是否有构造可以让我跳过第一个条件? 那么,迭代器/循环将不会进入一次? 例如: <% @messages.each do |message| %> <%# code or partial to display the message %> <% and_if_it_was_blank %> You have no […]

与承诺循环

用承诺做一个while循环的习惯用法是什么? 所以: 如果情况仍然存在,请做一些事情再重复一遍,然后做一些其他的事情。 dosomething.then(possilblydomoresomethings).then(finish) 我这样做,我想知道是否有更好的/更多的idomatic方法? var q = require('q'); var index = 1; var useless = function(){ var currentIndex = index; console.log(currentIndex) var deferred = q.defer(); setTimeout(function(){ if(currentIndex > 10) deferred.resolve(false); else deferred.resolve(true); },500); return deferred.promise; } var control = function(cont){ var deferred = q.defer(); if(cont){ index = index + 1; useless().then(control).then(function(){ deferred.resolve(); }); } […]

迭代Python列表中的项目对

可能重复: 在Python中迭代列表(current,next) 迭代列表中的每两个元素 是否有可能在Python中以下列方式迭代列表(将此代码视为伪代码)? a = [5, 7, 11, 4, 5] for v, w in a: print [v, w] 它应该产生 [5, 7] [7, 11] [11, 4] [4, 5]

当R中出现“警告()”时打破循环

我有一个问题:我正在运行一个循环来处理多个文件。 我的matrix是巨大的,所以如果我不小心的话,我经常会记忆犹新。 如果有任何警告被创build,有没有办法摆脱循环? 它只是继续运行循环,并报告说,它失败了很多晚…烦人。 任何想法哦智慧stackoverflow-ers?

为什么使用for循环而不是while循环?

可能重复: 迭代for循环或while循环? 循环在C – for()或while() – 这是最好的? 什么时候应该使用for循环而不是while循环? 我认为下面的循环是相同的,除了它们的语法。 如果是这样,那为什么select一个呢? int i; for (i = 0; i < arr.length; i++) { // do work } int i = 0; while (i < arr.length) { // do work i++; }

什么时候应该在创build1000个Entity Framework对象时调用SaveChanges()? (如在import时)

我运行的每次运行都会有1000个logging。 只是在我的假设上寻找一些确认: 哪一个最有意义: 运行SaveChanges()每个AddToClassName()调用。 每n次AddToClassName()调用运行SaveChanges() 。 在所有的AddToClassName()调用之后运行SaveChanges() 。 第一个选项可能是慢的吧? 由于需要分析内存中的EF对象,生成SQL等 我假设第二个选项是两个世界中最好的,因为我们可以围绕SaveChanges()调用进行try catch,并且一次只丢失n个logging,如果其中一个失败的话。 也许将每个批次存储在List <>中。 如果SaveChanges()调用成功,则删除列表。 如果失败,请logging项目。 最后一个选项可能最终会很慢,因为每个EF对象都必须在内存中,直到调用SaveChanges() 。 如果保存失败,什么都不会发生,对吧?

迭代器循环与索引循环

可能重复: 为什么使用迭代器而不是数组索引? 我正在评论我在C ++方面的知识,并且偶然发现了迭代器。 有一件事我想知道是什么让他们如此特别,我想知道为什么这样: using namespace std; vector<int> myIntVector; vector<int>::iterator myIntVectorIterator; // Add some elements to myIntVector myIntVector.push_back(1); myIntVector.push_back(4); myIntVector.push_back(8); for(myIntVectorIterator = myIntVector.begin(); myIntVectorIterator != myIntVector.end(); myIntVectorIterator++) { cout<<*myIntVectorIterator<<" "; //Should output 1 4 8 } 比这更好: using namespace std; vector<int> myIntVector; // Add some elements to myIntVector myIntVector.push_back(1); myIntVector.push_back(4); myIntVector.push_back(8); for(int y=0; y<myIntVector.size(); […]

我应该避免使用Java标签语句吗?

今天,我有一个同事build议我重构我的代码,使用标签语句来控制我创build的2个嵌套for循环stream。 我从来没有使用过,因为我个人认为它们降低了程序的可读性。 如果论证足够稳固,我愿意改变主意。 人们对标签声明有何意见?

C#:循环多行string的行

什么是一个很好的方式来循环多行string的每一行,而不使用更多的内存(例如没有将其分割成数组)?

空循环比C中的非空循环慢

当试图知道一行C代码执行多长时,我注意到这个奇怪的事情: int main (char argc, char * argv[]) { time_t begin, end; uint64_t i; double total_time, free_time; int A = 1; int B = 1; begin = clock(); for (i = 0; i<(1<<31)-1; i++); end = clock(); free_time = (double)(end-begin)/CLOCKS_PER_SEC; printf("%f\n", free_time); begin = clock(); for (i = 0; i<(1<<31)-1; i++) { A += B%2; […]