jjzjj

Iterators

全部标签

javascript - ES6 生成器 : transforming callbacks to iterators

我正在babel的帮助下试验ES6生成器,而且我很难理解如何(或者如果!)我可以有效地使用基于回调的异步函数来输出迭代器。假设我希望能够编写一个函数,该函数接受多个url,异步下载它们并在下载后立即返回它们。我希望能够编写如下内容:leturls=['http://www.google.com','http://www.stackoverflow.com'];for({url,data}ofdownloadUrls(urls)){console.log("Contentofurl",url,"is");console.log(data);}如何实现downloadUrls?理想情况下,

php - RegexIterator 过滤图像,忽略特定目录

::解决方案::使用@RomanPerekhrest的答案稍作修改,我得到了我需要的东西。这会添加多个目录以递归搜索,同时过滤掉某些文件夹(在我的例子中:“_thumbs”文件夹)。最终代码如下:$dir1=newRecursiveDirectoryIterator("./folder01");$dir2=newRecursiveDirectoryIterator("./folder02");$dir3=newRecursiveDirectoryIterator("./folder03");$iterators=newAppendIterator();$filter=function(

java - 加载、链接和初始化——什么时候加载一个类?

我对类加载的理解是,类在第一次需要时加载(用一种非常简单的方式来说)。使用-verbose:class和Iterators类的修改版本运行以下示例,该版本在调用其clinit时打印一条消息我观察到一些我无法真正解释的东西:publicclassIteratorsTest{publicstaticvoidmain(String[]args){com.google.common.collect.Iterators.forArray(1,2,3);}}(清理后的)输出如下:[Loadedcom.google.common.collect.Iteratorsfromfile:...][Load

java - 为什么 Iterators.size() 使迭代器为空?

publicstaticvoidmain(Stringargs[])throwsJSONException{JSONObjectjson=newJSONObject();json.put("name","abcgdj");json.put("no","1234");json.put("contact","6748356");Iteratorkeys=json.keys();System.err.println(Iterators.size(keys));System.err.println(Iterators.size(keys));}在这段代码中,在执行Iterators.size(

java - Iterables.find 和 Iterators.find - 不是抛出异常,而是获取 null

我正在使用google-collections并尝试找到第一个满足Predicate的元素,如果不满足,则返回'null'。不幸的是,当没有找到元素时,Iterables.find和Iterators.find会抛出NoSuchElementException。现在,我不得不做Objectfound=null;if(Iterators.any(newIterator(...),my_predicate){found=Iterators.find(newIterator(...),my_predicate)}我可以用“try/catch”包围并做同样的事情,但对于我的用例,我会遇到很多没

C++标准写法: Does "through all iterators in the range" imply sequentiality?

ThisSOquestion引发了关于std::generate和标准做出的保证的讨论。特别是,你能否使用具有内部状态的函数对象并依赖于generate(it1,it2,gen)来调用gen(),将结果存储在*it,再调用gen(),存入*(it+1)等,还是可以从后面开始,比如?标准(n3337,§25.3.7/1)是这样说的:Effects:Thefirstalgorithminvokesthefunctionobjectgenandassignsthereturnvalueofgenthroughalltheiteratorsintherange[first,last).Thes

c++ - std::deque: "insertion and deletion of elements may invalidate iterators"是什么意思?

我正在阅读有关std::deque容器的信息,文档指出Insertionanddeletionofelementsinstd::dequemayinvalidateallitsiterators这是我对上述陈述的理解版本,如果我误解了陈述或遗漏了什么,请告诉我考虑以下代码std::deques;s.push_back(12);autoi=s.begin();s.push_front(45);//Afterpushing45atthebacknow`i`maybeinvalid.这个理解正确吗? 最佳答案 你是对的。例如之后std::

c++ - 返回类型很长的表达式

我有以下功能:inlineautoiterateSomething(obj&o){autoiterators=baseIterator(o);autotranformer=boost::bind(transofrmToSomething,_1,o);typedefboost::transform_iteratoriterator_t;iterator_tbegin(iterators.first,tranformer);iterator_tend(iterators.second,tranformer);returnstd::make_pair(begin,end);}如您所见,我不知

hadoop - Accumulo Iterators SortedKeyValueIterator 源码

如何为迭代器设置源SortedKeyValueIterator?在许多迭代器中,我看到了初始化(init)方法和source.get*方法,但我没有看到这些方法的具体实现。是否有一个基本迭代器,所有这些迭代器都是在我没有看到的基础上实现的? 最佳答案 整个迭代器栈构建在平板服务器(TServer)上。在堆栈的底部,是读取数据的内置系统迭代器,从内存/文件中合并。最重要的是实现访问控制和删除标记修剪的系统迭代器。顶部是所有用户迭代器,按照您在每表和/或扫描配置中设置的优先级排序。init方法在构造此迭代器堆栈期间由TServer调用,

c++ - 为什么我会收到错误 'vector iterators incompatible' ?

我正在为我的程序编写一个小型UI。我有方法onMouseMotion(),我可以用两种方式之一调用它(见代码);如果我通过std::function调用它,则for循环停止条件中的!=运算符会产生运行时异常vectoriteratorsincompatible.为什么?classWidget:publicEventHandler{protected:/*...*/std::vectorchildren_;std::functionfunc_;private:boolonMouseMotion(Event&event);/*...*/};Widget::Widget(){/*...*/f