我的Ruby之旅_1.起步
Ruby在很短的时间内,借由Rails而迅速兴起,亦同时为动态语言的全面活跃打响了第一枪。然而这已经是四五年前的事情了,今天的Ruby世界有了怎样的变化呢?
Ruby实现
YARV,JRuby,Rubinius,REE ,Ruby.net 等等,有很多项目热衷于在不同平台上实现Ruby语言,对我来说,我就从Java平台上的实现——JRuby 开始吧。
JRuby ——Java平台上的Ruby实现
JRuby走的是把.rb代码编译成Java字节码,而直接运行在Java平台上的路子。因此性能到不会有大问题。
JRuby Home,http://www.jruby.org ,https://github.com/jruby/jruby
JRuby wiki,https://github.com/jruby/jruby/wiki/
JRuby APIs,http://174.129.31.214/apidocs/
IDE选择
基于Eclipse对Ruby支持的是:Aptana Studio,它在最新版中整合了原RadRails 产品,但下载安装后竟无法配置Ruby执行器,郁闷....
Studio3和RadRails2的Eclipse插件安装位置分别是:
http://download.aptana.com/studio3/plugin/install
http://download.aptana.com/tools/radrails/plugin/install/radrails-bundle
基于Netbeans对Ruby支持的插件,已随着Sun的离去而从Netbeans中消失了,伤感.....
我只有把目光转向了IntelliJ IDEA ,然而颇让人遗憾,
A. 插件:http://plugins.intellij.net/plugin/?id=1293
B.产品: RubyMine,收费商业产品, http://www.jetbrains.com/ruby/index.html
更多介绍:http://confluence.jetbrains.net/display/RUBYDEV/RubyMine+and+IntelliJ+IDEA+Ruby+Plugin
虽然该IDEA依然有社区版可免费使用了,但 支持 Ruby的插件 却是要安装在需要付费的完全版本上,或者使用需要付费的的 RubyMine 独立版本。这不是逼哥用盗版吗,有木有...?
另外,还有JRuby社区基于SWT开发的—— RedCar ,我想应该值得一试,等有时间了再试试看。
以下链接将给你IDE方面的其它建议和信息,请参考:
http://biodegradablegeek.com/2007/12/using-vim-as-a-complete-ruby-on-rails-ide/
http://www.cnblogs.com/bmate/archive/2010/11/15/1877493.html
http://www.iteye.com/topic/1041924
Ruby代码的基本结构:
#!/usr/bin/ruby -w shebang comment #! _*_ coding: utf-8 _*_ coding comment #require moudel if __FILE__ == $0 #如果是允许本文件,则执行以下代码,类似于main函数 puts "$0:" + $0 puts "__FILE__:#{__FILE__}" end p "current line:#{__LINE__}" array = [1,2,3,'a','b','c'] p array __END__
Ruby系统常量
RUBY_VERSION The ruby version string. RUBY_PLATFORM The platform identifier. RUBY_RELEASE_DATE The release date string. __FILE__ The file' path of the script. __LINE__ The line number of the script.
Debugging :
Ruby单步调试需要安装支持包,如:ruby-debug、ruby-debug-ide
因为以上两个gem都包括C本地扩展,因此在JRuby下有不同的安装方法,具体请参考:UsingTheJRubyDebugger ,但一定要注意,ruby-debug-ide必须安装 0.4.6版,较高版本因存在本地扩展,无法安装。遗憾的是,我仍未能成功配置RubyMine的debug :-(
单元测试 :
在Ruby1.8的发行版中绑定了test-unit gem 包,作为对单元测试的支持。但在1.9版中仅仅提供Minitest Framework(可以将其理解成 test-unit的剪裁版,具体请参考这儿 。),因此需要自己安装test-unit gem包,并激活它。
激活的关键是在你的代码中包括 'gem test-unit ' 语句。具体情况请参考:
Minitest Framework detected, can't load full test framework
其它:
http://rubydoc.info/ ,官方文档参考站点;
RubyForge: http://rubyforge.org ,是Ruby平台上各种模块的集中营,貌似也是Ruby平台上开源项目的Host。
The Ruby ToolBox, https://www.ruby-toolbox.com/ ,开源组件集中营;
Rubygems: http://rubygems.org/ ,Ruby平台的扩展包集中营;
RoR:http://rubyonrails.org/ ,Ruby语言的杀手级应用,Web App开发框架的官方站点;
英文资料和数据:
Why’s (Poignant) Guide to Ruby ,http://mislav.uniqpath.com/poignant-guide/
Programming Ruby ,http://www.ruby-doc.org/docs/ProgrammingRuby/
Mr. Neighborly’s Humble Little Ruby Book ,http://www.humblelittlerubybook.com/book/html/chapter0.html
Matz, Koichi访谈:
http://www.letrails.cn/archives/38/
http://www.letrails.cn/archives/39/
http://www.letrails.cn/archives/40/
http://www.letrails.cn/archives/41/