Ruby开发:从Gem打包到交互式编程的全面指南
1. Ruby程序的结构与运行
在开发Ruby程序时,我们需要将各个库文件整合起来。例如,有一个脚本调用的代码( lib/anagram/runner.rb
)将其他库文件连接在一起:
module Aaagmnr
class Runner
def initialize(argv)
@options = Options.new(argv)
end
def run
finder = Finder.from_file(@options.dictionary)
@options.words_to_find.each do |word|
anagrams = finder.lookup(word)
if anagrams
puts "Anagrams of #{word}: #{anagrams.join(", ")}"
else
puts "No anagrams of #{word} in #{@options.dictionary}"
end
end
end
end
end
同时,还有一个顶级文件 gems/aaagmnr/lib/aaagmnr.rb
,它引入了所有必要的文件、版本信息和 optparse
: