加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

循环 – 优雅的方式做…时在groovy

发布时间:2020-12-14 16:39:09 所属栏目:大数据 来源:网络整理
导读:如何在groovy中做这样的代码? do { x.doIt()while (!x.isFinished()) 因为在groovy中没有do … while语法。 No ‘do … while()’ syntax as yet. Due to ambiguity,we’ve not yet added support for do .. while to Groovy 参考文献: groovy – dev do w
如何在groovy中做这样的代码?

do {

  x.doIt()

while (!x.isFinished())

因为在groovy中没有do … while语法。

No ‘do … while()’ syntax as yet.

Due to ambiguity,we’ve not yet added support for do .. while to Groovy

参考文献:

> groovy – dev> do while
> Migration From Classic to JSR syntax
> Groovy Documentation> Control Structures> Looping
> Rosetta Code> Loops/Do-while Groovy

解决方法

你可以滚动自己的循环,这几乎是你想要的。
这里有一个例子loop {code} until {condition}
你不能有一个相应的循环{code}而{condition},因为while是一个关键字。
但你可以称之为别的东西。

无论如何这里有一些粗糙和准备好的代码循环直到。
一个问题是你需要使用大括号,直到条件,使其成为闭包。
可能有其他问题。

class Looper {
   private Closure code

   static Looper loop( Closure code ) {
      new Looper(code:code)
   }

   void until( Closure test ) {
      code()
      while (!test()) {
         code()
      }
   }
}

用法:

import static Looper.*

int i = 0
loop {
   println("Looping : "  + i)
   i += 1
} until { i == 5 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读