y 与 Java 语言的区别很大,Java 语言是一种固定类型语言。在 Groovy 中,类型是可选的,所以您不必输入String myStr = "Hello"; 来声明 String 变量。 除此之外,Groovy 代码还能在运行时轻松地改变自己。这实际上意味着,能够在 运行时轻松地为对象指定新方法和属性。这一编程领域称为元编程,Groovy 能够很好 地支持这种编程方式。在学习本教程的过程中,您将了解到关于 Groovy 的动态性质的 更多内容。现在惟一要补充的是,您会惊讶地发现,在 Groovy 会使操作 XML 或普通 的 java.io.File 实例变得非常轻松。
一体两面 用 Groovy 编写的任何内容都可以编译成标准的 Java 类文件并在 Java 代码中重 用。类似地,用标准 Java 代码编写的内容也可以在 Groovy 中重用。所以,可以轻易 地使用 Groovy 为 Java 代码编写单元测试。而且,如果用 Groovy 编写一个方便的小 工具,那么也可以在 Java 程序中使用这个小工具。 Groovy是用Java实现的开源脚本语言并且和它联系紧密.它需要JDK 1.4. Groovy向 Java添加了许多Ruby和Python脚本语言的特性. Groovy的特性包括动态类型 (dynamic typing), 闭包(closures),简单对象
导航( easy object navigation)和更 加简洁的Lists和Maps语法.
Groovy是由James Strachan和Bob McWhirter创造的. James还参与了许多其他开源 项目的开发,其中包括Jelly, dom4j, Jaxen, Betwixt和Maven. Bob是Jaxen和Drools (一 个开源的面向对象的JAVA规则引擎) 的创始人. 目前最新稳定版为Groovy1.5。这个Groovy版本包含了很多Java5的特性 (Annotation,
泛型,Enum...),并修正了很多错误。
Ruby介绍 介绍
Ruby 的设计理念 设计理念 减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是设计 Ruby 语言的 Matz 的一个首要的考虑;其次是良好的界面设计。他强调
系统设计必须强调人性化, 而不是一味从机器的角度设想。 “ 人们特别是电脑工程师们,常常从机器着想。他们认为:“这样做,机器就能 运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。”实际 上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程 序。我们是主人,他们是仆人。 ” 遵循上述的理念,Ruby 语言通常非常直观,按照编程人认为它应该的方式运行。 Semantics Ruby 是完全面向对象的:任何一点数据都是对象,包括在其他语言中的基本类型 (比如:整数,布尔逻辑值),每个过程或函数都是方法。
Ruby 的特点 完全面向对象 在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数. 变量没有类型 Ruby的变量可以保有任何类型的数据。
任何东西都有值 不管是数学或者逻辑表达式还是一个语句,都有值 命名规则 Ruby的变量有一定的规则,以$开头的一定是全局变量,以@开头的都是实例变 量,而以@@开头的是类变量。常数则以大写字母开头;这种方法,对文本编辑器的命 令补全很有帮助,如在vim下先键入$及开头字母,再敲击Ctrl+p,则可专门补全本文 件以及关联文件中的全局变量,perl与php亦有此优点。 已经定义的类可以在运行时修改 Ruby是动态语言,你可以在程序中修改先前定义过的类。 也可以在某个类的实例 中定义该实例特有的方法,这叫做单立方法。 class MyClass def the_method "general method" end end mc = MyClass.new def mc.the_method "special for this instance." end mc.the_method #special for this instance 使用Ruby可以写出简短而有功能强大的代码 #下面的方法用来完成两个矩阵的乘积 def matrix_mul(matrix1,matrix2)
result=Array.new (0...matrix1.length).each {|i| temp=Array.new;(0...matrix2.length).each{|j| tmp=0; (0...matrix1[0].length).each {|k| matrix1[k].to_f*matr