没有Rails Java程序员如何使用Ruby
http://tech.ddvip.com 2008年01月18日 社区交流
内容摘要:Ruby on Rails仅是使Ruby成为伟大的一个因素,这就象EJB仅是Java企业平台的一个组成部分一样。本文将带你一同讨论,作为一名Java开发者,仅利用Ruby自身所能够实现的功能。
列表3.用Ruby定义的两个与前面功能相同的类
module Dictionary
class Word
attr_reader :spelling, :part_of_speech, :definitions, :synonyms
attr_writer :spelling, :part_of_speech
def initialize(spelling, part_of_speech, definitions = [], synonyms = [])
@spelling = spelling
@part_of_speech = part_of_speech
definitions.each{ |idef| idef.word = self}
@definitions = definitions
@synonyms = synonyms
end
def add_definition(definition)
definition.word = self if definition.word != self
@definitions << definition
end
def add_synonym(synonym)
@synonyms << synonym
end
end
class Definition
attr_reader :definition, :word, :example_sentences
attr_writer :definition, :word
def initialize(definition, word = nil, example_sentences = [])
@definition = definition
@word = word
@example_sentences = example_sentences
end
end
end
如果说列表3中有一件事情值得你注意的话,那就是,Ruby的语法相当简练。但是,别让它的简练愚弄了你-在这些代码中存在很多内容!首先,两个类都被定义在一个模块中。实质上,模块相当于Java语言的一个包。而且,在Java语言中,我可以据需要把这些类在多个文件中定义。你还要注意,Ruby中的类构造器被命名为initialize,而在Java语言中,构造器是使用类名命名的。
五、快速移动对象
责编:豆豆技术应用