`
rainy646556896
  • 浏览: 19944 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
文章列表
直接调用或通过call()方法调用 def adder = {x, y -> return x+y} assert adder(2, 3) == 5 assert adder.call(4, 5) == 9   def benchmark(repeat, Closure worker) { def start = System.currentTimeMillis() repeat.times{worker(it)} def stop = System.currentTimeMillis() return stop - start } def ...
简单的声明方式,闭包作为参数传递给方法 def log = '' (1..3).each{element -> log += element} assert log == '123' log = '' (1..3).each{log += it} assert log == '123'   花括号可以用来构建一个闭包对象或者是groovy代码块 //赋值给变量 def test = {line -> println line} //作为方法的返回值 def Closure getTest() { return {element -> ...

groovy学习之Map

Map声明 def myMap = [a:1, b:2, c:3] assert myMap.size() == 3 assert myMap['a'] == 1 def emptyMap = [:] assert emptyMap.size() == 0 def myMap2 = new TreeMap() myMap2.putAll(myMap) assert myMap2['a'] == 1   使用Map操作符 如果get(key,default)被调用时,key没有找到并且缺省值被返回,那么key:default对将被增加到map中 def myMa ...
使用列表方法:   删除list中为null和重复的元素   def myList = [1, 2, 2, 3, 3, null, 4, null] def lst = new HashSet(myList).toList() assert lst.size() == 5 assert lst.grep{it} == [1, 2, 3, 4] assert List.'package'.name == java.util   常用list方法 assert [1, [2, 3]].flatten() == [1, 2, 3] assert [1, 2, 3]. ...
使用List操作符 def myList = ['a', 'b', 'c', 'd', 'e', 'f'] //getAt(ranges) assert myList[0..2] == ['a', 'b', 'c'] //getAt(collection of index) assert myList[1, 3, 5] == ['b', 'd', 'f'] //putAt(ranges) myList[0..2] = ['x', 'y', 'z'] assert myList == ['x', 'y', 'z', 'd', 'e', 'f' ] //removin ...

groovy之List声明

声明List def myList = [1,2,3] assert myList.size() == 3 assert myList.contains(2) assert myList instanceof ArrayList def emptyList = [] assert emptyList.size() == 0 def longList = (1..1000).toList() assert longList.size() == 1000 def lst = new ArrayList() lst.addAll(myList) assert lst = ...

Ranges

使用Ranges (left..right) (left..>right) (right..left)   assert (1..10).contains(5) assert (1..10).size() == 10 assert (1..<10).size() == 9 def log = '' for(element in (1..3)) { log += element } assert log == '123' log = '' (1..3).each{element -> log += element } ass ...

groovy解析xml

XML解析提供了XmlParser、XmlSlurper类 XML生成提供了MarkupBuilder、StreamingMarkupBuilder类   XML操作: MarkupBuilder MarkupBuilder (): Prints markup to System.out     import groovy.xml.* def xml = new MarkupBuilder() xml.langs("type":currecy){ language("java") language(&quo ...

groovy解析json

groovy内置的groovy.json能很方便的对json进行操作 api: http://docs.groovy-lang.org/latest/html/gapi/groovy/json/JsonBuilder.html   //Instantiates a JSON builder with some existing data structure import groovy.json.* def lst = [1,2,3] def data = [ success: true, count: lst.size(), data: lst.collect{[ ...
...
###类方法的定义的3种类型 ##1.                            #class ##2. #class 类名   # def 类名.方法名   # end #end ##3. #class 类名 #  def seft.方法名 #  end #end class Student1 end class class Student2      def Student2.get           p &quot;object proc define 2&quot;       end end  Student2::get()   ...
##########条件判断常用的3种:if、unless、case ###then可省略 if 条件1 then    语句1 elsif 条件2 then    语句2 else    语句3 end #####unless是与if完全相反地语句 unless 条件    语句1 else   语句2 end #######then可以省略,可以进行值的比较,也可进行正则表达式的匹配,及判断对象是否为某类的实例。 case 想要比较的对象 when 值1    语句1 when 值2    语句2 end
##############名字的第一个字符表面该变量的用法############### 1.以小写字母或下划线开头: 局部变量、方法参数、方法名; 2.以美元符做前缀: 全局变量 3.以@符开头: 实例变量 4.以@@开头: 类变量,类变量在使用前必须先初始化 5.以大写字母开头: 类名、模块名和常量 ##注意:@后不可以直接跟数字 ########################各种循环while、until和for################### ####1.while循环(do可以被省略) i = 0 while i < 10 do     p i     i += ...
[/color]print、puts、p三个方法的区别: print("hello","world") puts("hello","world") p("hello","world") 1.print方法在输出多个以逗号为分隔符的参数时,会在同一行显示;而对于puts及p方法,会在每个参数后默认加上一个换行符; 2.p方法用于想要观察执行中的程序运行情况的时候,例如: p "100" p 10 [size=xx-small][/size]会在终端分别显 ...
Global site tag (gtag.js) - Google Analytics