我的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/
分享到:
相关推荐
1998年,Fred Wu移居澳大利亚,并在那里继续他的技术探索之旅。2001年,他开始尝试使用Perl、ASP以及PHP等编程语言和技术,尤其是Discuz! 这款基于PHP的论坛软件,为他提供了宝贵的实践经验。四年后,即2004年,他在...
如果没有听说过 Rails,那么欢迎您外星旅行归来,近几年大概只有那个地方没有听说过 Ruby on Rails 了。...从容起步 Ajax 之旅——Ajax 技术资源中心 什么是 Ajax?Ajax(Asynchronous JavaScript and XML)是一
2025年上海市公交路线及站点矢量shp数据.zip
大学时数电实验的资料,仅用于复习和学习参考
2025年DeepSeek与AI幻觉研究报告.pdf
基于STM32的无刷直流电机有_无传感器调速系统代码与原理图.pdf
基于Stm32硬件浮点运算芯片的6us一轮代码全手写:讲解代码流程,包含有感FOC速度环、电流环、位置环的注释详解.pdf
门户元素-日历日程.zip
以下是一个人工智能相关资源在实践工作中的使用案例: ### 案例:京东方工业互联网中的AI应用 - **资源**:京东方利用人工智能技术结合工业互联网平台,实现了生产过程的智能化管理和优化。
1、文件说明: Centos8操作系统usermode-gtk-1.113-2.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf usermode-gtk-1.113-2.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm
基于SVM的人民币面值识别系统的Matlab GUI实现.pdf
基于STM32的画图板功能详解:包含原理图、PCB、BOM表格及Kiel工程源码.pdf
皓拓拼版,错误1解决办法
内容概要:本文深入阐述了面向对象编程(OOP)的关键要素,如对象、类、继承和多态,并探讨了OOP的重要设计原则,包括单一职责、开放封闭、里氏替换、依赖倒置、接口隔离等。详细解读了依赖倒置的设计思路,通过实际代码案例展示了如何利用面向对象的思想改善系统结构,增强了程序灵活性与扩展性。接着介绍了统一建模语言(UML)及其图表的应用范围,特别是UML的不同类型的图如何帮助理解和设计软件系统架构。进一步讲解了三大类经典设计模式:创建型模式(如工厂方法、抽象工厂、生成器、原型、单例),结构型模式(适配器、桥接、组合等)和行为型模式(职责链、命令、迭代器、中介者等)。每种模式均有实例代码演示,便于初学者快速掌握。最后结合具体的工程应用场景分析,引导学习者灵活运用设计模式解决问题。 适用人群:具有初步编程经验,特别是对 Java 编程语言有所了解的技术爱好者和初级开发者。这部分群体正在寻求加深理解面向对象的概念和技巧,掌握设计模式的应用。 使用场景及目标:适用于正在设计小型到中型规模项目的个人和团队。无论是希望构建稳健的应用框架,还是希望通过合理的模块划分降低系统的复杂度,或是提高代码的可维护性和可
PHP编程语言实践指南
基于STM32的水质_浊度检测仪设计与实现:详细设计说明书+原理图PCB工程+源码工程.pdf
2025年江苏宿迁公交路线及站点矢量shp数据.zip
阿里巴巴的销售管理分析(50页)
基于STM32的物联网智能家居系统:实时监控与智能调节.pdf