繁体中文
设为首页
加入收藏

推荐

公告

推荐文章
· 新手入门:写Java程序的三...
· Java SE 6新特性:Instru...
· Java SE 6 新特性: HTTP...
· Hibernate的检索策略小结
· AJAX推送与拉取方式的比较
· Java有能力抵挡LAMP的进...
· Hibernate+Struts的J2EE...
· 想动就“动”-Java也可以...
· Spring 2.0+ JRuby 快速入门
· 对J2EE中的DAO组件编写单...
热点文章
广告

当前位置:设计首页 >> 程序开发 >> Java >> Spring 2.0+ JRuby 快速入门

Spring 2.0+ JRuby 快速入门 (5)

2008-01-02 09:46:24  作者:  来源:互联网  浏览次数:41  文字大小:【】【】【
简介:  随着Ruby,特别是Ruby on Rail在应用领域所取得的成功,近两年来动态语言成为炙手可热的技术之一。由于动态语言灵活、松散的结构,使得实现某些功能特别方便。Spring 顺应时势,在Spring 2.0中适时推出了对 ...
关键字:Spring 2.0 JRuby
  将类保存为类文件

  前面的例子都以交互的方式操作代码,代码不能够在其它类中重用。如果希望多次使用同一个类,则需要将代码保存到文件中。你可以通过开始->程序->Ruby-xxx-yyy->SciTE打开可以编写Ruby程序文件的编辑器,如下图所示:


图 2 SciTE编辑器

  下面的例子编写了一个Waiter类,并最终将其保存到Waiter.rb类文件中:

# This is a simple example ①使用#进行注释
class Waiter
 attr_accessor :names
 def initialize(names = "Mr.")
 @names = names
end
def greeting
if @names.nil? ②@names是否为空
 puts "..."
elsif @names.respond_to?("each"攀?畱瑯?? ?o??ū) ③如果@names对象具有each方法,那么进行迭代
 @names.each do |name| ④
 puts "How are you! #{name}"
 end
else
 puts "How are you #{@names}"
 end
end
end
if __FILE__ == $0 ⑤
 w = Waiter.new
 w.greeting

 w.names ="Mr. John"
 w.greeting

 w.names =["Mr.John","Cliton Miss","Mr. Tomson"]
 w.greeting
end

  ④处的each是一种方法,它接受一个代码块,然后针对列表中的每个成员执行这个代码块,而在do和end之间的部分便是类似于Java匿名类的代码块。在竖杠之间的变量是代码块的参数name,它作为代码块参数被绑定为列表成员。而代码块puts "How are you! #{name}"将使用这个参数进行输出。

  ⑤部分的代码是对前面定义类的调用,__FILE__是一个特殊的变量,它代表了当前文件名。$0是启动程序的文件名。那么代码“if __FILE__ == $0”意味着检查此文件是否为将被使用的主程序文件。这样做可以使程序文件作为程序库使用,而不是可执行代码;但当此文件被用作执行文件时,也可被执行。
[1] [2] [3] [4] [5] [6] [7]


相关文章