我是
靠谱客的博主
强健睫毛,这篇文章主要介绍
打动你朋友的11条Groovy超炫代码,现在分享给大家,希望可以做个参考。
Dustin Marx在其博文中,跟读者分享了11条Groovy的超炫代码。
- List中的每个元素乘2:
List求和:
List中是否含有某个字符串
1 | def wordList = ['groovy', 'akka', 'grails framework', 'spock','typesafe'] |
2 | def tweet = 'This is an example tweet talking about groovy and spock.' |
3 | wordList.any { word -> tweet.contains(word) } |
05 | def person1=new Person(name:'person1') |
06 | def person2=new Person(name:'person2') |
07 | def person3=new Person(name:'person3') |
08 | def wordList = [person1,person2] |
10 | wordList.any { it -> tweet.contains(it) } |
上述代码结果为false,如果tweet = [person3,person1],结果就为true
文件内容读取,易如反掌:
2 | new File("data.txt").text |
4 | new File("data.txt").readLines() |
生日快乐!
1 | (1..4).each { println 'Happy Birthday ' + ((it == 3) ? 'dear Arturo' : 'to You') } |
按条件拆分List
1 | def (passed, failed) = [49, 58, 76, 82, 88, 90].split{ it > 60 } |
获取和解析XML Web服务
1 | def results = newXmlSlurper().parse('http://search.twitter.com/search.atom?&q=groovy') |
找出List中最大最小值:
1 | [14, 35, -7, 46, 98].min() |
2 | [14, 35, -7, 46, 98].max() |
使用
GPars提供的直观、安全的方式控制Groovy的并行任务
2 | GParsPool.withPool { def result = dataList.collectParallel { processItem(it) } } |
找质数算法(Sieve of Eratosthenes筛法)
2 | (2..Math.sqrt(t.last())).each { n -> t -= ((2*n)..(t.last())).step(n) } |
这个方法来自于Groovy Prime Numbers的评论。
有奖问答:FizzBuzz问题 - 打印1到100这些数字,遇到数字为3的倍数的时候,打印“Fizz”替代数字,5的倍数用“Buzz”代替,既是3的倍数又是5的倍数打印“FizzBuzz”。
2 | println "${i%3?'':'Fizz'}${i%5?'':'Buzz'}" ?: i |
另附两个有趣问题的解答:
现在手头有0.5美元、0.25美元、10美分、5美分、1美分,将1美元换成这些零钱,有多少种换法:
02 | 101.times{ x1 -> 21.times{ |
06 | x5 -> if(x1*1+x2*5+x3*10+x4*25+x5*50 == 100){ |
08 | println "$x1*1+$x2*5+$x3*10+$x4*25+$x5*50 == 100" |
汉诺塔问题:
01 | def hanoita(n, a, b, c){ |
03 | println "$n : $a -> $c" |
06 | println "$n : $a -> $c" |
10 | hanoita 5, 'a', 'b', 'c' |
奇妙吧?就是这么简单!对于上述代码,如果你有更好的提议,也可以分享给大家。
最后
以上就是强健睫毛最近收集整理的关于打动你朋友的11条Groovy超炫代码的全部内容,更多相关打动你朋友内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复