Kotlin 使用类似C# 的yield功能】的更多相关文章

用过c#的可能对 yield 关键字爱不释手,那么在像我这种被迫上java贼船的人,就想找到类似的功能. 我使用的是kotlin,下面的方法演示了产生一个序列的功能. val fibonacciSeq = buildSequence { ) while (true) { yield(a + b) val tmp = a + b a = b b = tmp } } fun main(args: Array<String>){ fibonacciSeq.take().forEach { print…
实现类似mysql group_concat的功能 SELECT SG.Id ,SG.GroupName ,HostNames = STUFF((SELECT ',' + SH.[HostName] FROM SaltHost SH WHERE SG.Id = SH.HostGroupId , , '') FROM [SaltGroup] SG ORDER BY SG.Id…
CoffeeScript 1.9 开始提供了类似ES6的yield关键字. 自己结合co和bluebird做了个试验. co -- http://npmjs.org/package/co  -- for generator bluebird -- https://www.npmjs.com/package/bluebird  for Promise co = require 'co' Promise = require 'bluebird' msg = "good" func1 = (…
利用原生JS实现类似浏览器查找高亮功能 在完成 Navify 时,增加一个类似浏览器ctrl+f查找并该高亮的功能,在此进行一点总结: 需求 在.content中有许多.box,需要在.box中找出搜索的字符串,再将无搜索结果的.box隐藏掉,此外还要将字符串高亮.这个页面用vue.js实现了数据交互,不想用jquery来实现得查找高亮功能,得用原生js来实现该功能. 原理 将各个.box的文本内容提取,利用正则判断是否匹配字符串,若无搜索字符串,则隐藏该.box:否则继续找到具体的与该字符串匹…
原文:WPF中类似使用tab键功能,可以向上向下定位 private void tbYyrs_KeyUp(object sender, KeyEventArgs e) { UIElement element = Keyboard.FocusedElement as UIElement; if (e.Key == Key.Down || e.Key == Key.Enter) { if (element != null) { element.MoveFocus(new TraversalReque…
熟悉SQL Server的人都知道,它有一个很有用的功能,waitfor time和waitfor delay,前者表示在某个时间执行,后者表示等待多长时间执行.在我们测试功能和定时执行的时候特别有用,那么我们在mysql中如何实现呢? mysql只有一个定时函数,sleep(),我们只能通过这个函数来想办法了. sleep()说明: mysql> select id from c;+------+| id |+------+| 1 || 2 |+------+2 rows in set (0.…
之前的那文章简单实现了菜单侧拉功能,但是做不到像QQ那样导航条和tabBar一起移动...之后在网上找资料,有了思路,就自个写了个demo试试水. 先创建QHLMainController控制器,并把它设置成app的根控制器. 在QHLMainController控制器中,懒加载添加一个tableView,并对tableView设置相对应的属性以及frame(frame的x设置为一个负值)!!添加一个tabBar控制器,并 为tabBar控制器添加4个子控制器(分别为first,two,thre…
今天有同事问我如何在koa2中的controller中使用延迟执行的功能,他直接在controller中使用setTimeout,但是没效果. 错误的代码类似下面这样: // 错误的方法 exports.test = async(ctx) => { setTimeout(async function(){ await ctx.render('home/test.njk'); }, 2000); }; 问题在于,这里的controller会直接返回,并不会返回给客户端任何信息.因此请求这个接口的路…
在开发中,如果有需要用到序列化和反序列化的操作,就会用到 Serializable 或者 Parcelable,它们各有优缺点,会适用于不同的场景. Serializable 的优点是实现简单,你只需要实现一个 Serializable 接口,并不需要任何额外的代码,但是它的序列化和反序列化,实际上是使用反射做的,所以效率会略低,并且它会在序列化的过程中,会创建很多临时变量,所以更容易触发 GC. Parcelable 需要开发者自己去实现序列化的规则,所以会增加代码量,正是因为规则确定,所以效…
MyCP的代码实现 一.题目要求: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为十进制数字)转化为二进制文件 java MyCP -xt XXX1.bin XXX2.txt 用来二进制文件把转化为文本文件(内容为十进制数字) 二.设计思路 此次的代码要求实现类似Linux下cp的功能.我们需要注意的以及考虑的细节有以下几点: 源文件和目标文件分属不同的…