GROOVY简单语法实习

慢慢的看《GROOVY IN ACTION》的一个中文节译本,根据上面的东东慢慢练习。

中文看起来确实比英文快好多。。。:)

Book gina = new Book('Groovy in Action')
assert gina.getTitle() == 'Groovy in Action'
assert getTitleBackwards(gina) == 'noitcA ni yvoorG'

String getTitleBackwards(book) {
    title = book.getTitle()
    return title.reverse()
}

def groovyBook = new Book()
groovyBook.setTitle('Groovy conquers the world')
assert groovyBook.getTitle() == 'Groovy conquers the world'

groovyBook.title = 'Groovy conquers the world'
assert groovyBook.title == 'Groovy conquers the world'

def nick = 'Gina'
def book = 'Groovy in Action'
assert "$nick is $book" == 'Gina is Groovy in Action'

assert '12345' =~ /\d+/
assert 'xxxxx' == '12345'.replaceAll(/\d/, 'x')

def x = 1
def y = 2
assert x + y == 3
assert x.plus(y) == 3
assert x instanceof Integer

def roman = ['', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII']
assert roman[4] == 'IV'
roman[8] = 'VIII'
assert roman.size() == 9

def http = [
    100 : 'CONTINUE',
    200 : 'OK',
    400 : 'BAD REQUEST' ]

assert http[200] == 'OK'
http[500] = 'INTERNAL SERVER ERROR'
assert http.size() == 4

x = 1..10
assert x.contains(5)
assert x.contains(15) == false
assert x.size() == 10
assert x.from == 1
assert x.to == 10
assert x.reverse() == 10..1

[1, 2, 3].each { entry -> println entry }

def totalClinks = 0
def partyPeople = 100
1.upto(partyPeople) { guestNumber ->
    clinksWithGuest = guestNumber - 1
    totalClinks += clinksWithGuest
}
assert totalClinks == (partyPeople * (partyPeople - 1)) / 2

if (false) assert false
if (null) {
    assert false
} else {
    assert true
}

def i = 0
while (i < 10) {
    i++
}

assert i == 10

def clinks = 0
for (remainingGuests in 0..9) {
    clinks += remainingGuests
}

assert clinks == (10*9)/2

def list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for (j in list) {
    assert j == list[j]
}

list.each() { item ->
    assert item == list[item]
}

switch(3) {
    case 1 : assert false; break
    case 3 : assert true; break
    default : assert false
}

时间: 2024-09-30 23:51:41

GROOVY简单语法实习的相关文章

android中的java简单语法问题

问题描述 android中的java简单语法问题 android中java代码 Button simple = (Button) findViewById(R.id.simple)那个括号里的Button是类名吗?这里为什么写上(Button)而不是new呢?请原谅我java都没有学完就被逼着学android 解决方案 可以将(Button)理解为强制转换,因为findViewById(R.id.simple)这句话通过字面理解就是通过ID找到simple这个控件该控件属于view类型, 而你前

swift简单语法用于app

问题描述 swift简单语法用于app 图片中为什么if语句不能正常运行? 解决方案 你的value是什么值,是不是有空格,你在else里面输出下看看. 解决方案二: 那就是你的if条件没有满足,才不会print出来 解决方案三: 不能正常运行是什么意思?是说应该哦组到if里但是没有走吗?还是说走到那里程序就崩溃了? 解决方案四: 不能正常运行是什么意思?是说应该哦组到if里但是没有走吗?还是说走到那里程序就崩溃了?

T-Sql(一)简单语法

原文:T-Sql(一)简单语法 Sql Server是鄙人学习的第一种数据库,对Sql Server有一种特别的情感,下面就说一下Sql Server的简单语法,适用初学者. 1,创建数据库create database create database My_FrirstCreate --创建数据库 go use My_FrirstCreate --连接数据库 go 2,创建表create table create table dbo.Students --创建表(数据类型,是否NULL) (S

PHP的简单语法

一,PHP脚本代码标记 PHP的脚本是文件中一对特殊标记所包括的内容,如ASP是"<%....%>",PHP可看成是"<?...?>". 然而为了适应XML标准以将PHP嵌入到XML或XHTML中,PHP不建议使用短格式的"<?...?>",而建议使用长格式标记"<?php...?>" 此外PHP代码块还支持 <script language="php"

我的MYSQL学习心得(一) 简单语法

使用MYSQL有一段时间了,由于公司使用SQLSERVER和MYSQL,而且服务器数量和数据库数量都比较多 管理起来比较吃力,在学习MYSQL期间我一直跟SQLSERVER进行对比   第一期主要是学习MYSQL的基本语法,陆续还有第二.第三.第四期,大家敬请期待o(∩_∩)o  语法的差异 我这里主要说语法的不同 1.默认约束 区别:mysql里面DEFAULT关键字后面是不用加括号的 --sqlserver CREATE TABLE emp ( id INT DEFAULT(12) ) --

SQL语句简单语法

  SQL语句基本的四大元素(增,删,改,查) 插入数据 语法:INSERT INTO 表名(字段1,字段2,...)VALUES(值1,值2,...) 其中,INTO可选. 例如:将姓名'张三'学号's2t14'年龄22插入到stuInfo表中的stuName,stuNo,stuAge这三个字段中. INSERT INTO stuInfo (stuName,stuNo,stuAge) VALUES ('张三','s2t14',22) 插入多行数据 1.通过INSERT SELECT语句将现有表

Velocity简单语法及VelocityHelper封装

1.简单替换 ##这是注释 Wellcome ${userName}! Now:$date 2.申明变量: #set( $iAmVariable = "good!" ) Welcome $name to Javayou.com! today is $date. $iAmVariable 3.if语句: #set ($admin = "admin") #set ($user = "user") #if ($admin == $user) Welco

Groovy简单再入门

以前试过,忘得差不多了,趁这次从JAVA一直撸到SERVLET,SPRING,GROOVY,GRAILS的机会,再弄一次吧...   def authors = [ "Peter Ledbrook", "Glen Smith" ] def quoteParts = [ ["Time", "waits", "for no man"], ["The roundhouse kick", &qu

MongoDB查询简单语法

1.  基本查询:    构造查询数据.    > db.test.findOne()    {         "_id" : ObjectId("4fd58ecbb9ac507e96276f1a"),         "name" : "stephen",         "age" : 35,         "genda" : "male",