`
cnetwei
  • 浏览: 178928 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Ruby之旅_1.起步

    博客分类:
  • Ruby
 
阅读更多

我的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.orghttps://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/

 

 

 

 

分享到:
评论

相关推荐

    基于STM32的弦波无刷电机控制资料:源码及带Video教程.pdf

    基于STM32的弦波无刷电机控制资料:源码及带Video教程.pdf

    机器学习(预测模型):关于银枫树生长的研究数据

    这个数据集是关于银枫树生长的研究数据,主要探讨了生长调节剂对银枫树顶芽萌蘖长度、单个节间长度以及芽数的影响。根据数据集的名称可以推测,它可能包含与树木生长相关的数据,例如树木的种类、年龄、高度、直径、生长速度、土壤类型、气候条件等信息。这些数据可能来源于对不同地区、不同种类树木的长期观测和记录,旨在研究树木生长的规律、影响因素以及与环境之间的相互关系。该数据集可能对生态学家、林业工作者、环境科学家等研究人员具有重要价值。例如,生态学家可以利用这些数据来研究树木在不同生态系统中的生长模式和生态位;林业工作者可以分析树木的生长速度和质量,为森林资源的管理和可持续利用提供依据;环境科学家则可以探究气候变化、土壤污染等因素对树木生长的影响,从而更好地制定环境保护策略。此外,该数据集也可能在教育领域发挥作用,为学生提供实际的生态数据,帮助他们更好地理解生态学和环境科学的概念和原理。

    S7-200-PC-Access-SMART-V2.3

    ‌S7-200 PC Access SMART V2.3‌是西门子公司推出的一款针对S7-200 SMART PLC与上位机通信的OPC(OLE for Process Control)服务器软件。其主要作用是与其他标准的OPC客户端进行通信,并提供数据信息。S7-200 PC Access SMART V2.3与S7-200 PLC的OPC服务器软件PC Access类似,也具有OPC客户端测试功能

    服务器运维之统信服务器操作系统 V20(1060)安装指南详解

    内容概要:文档提供了统信服务器操作系统 V20(1060)详尽的安装指导。涵盖前期准备工作、多种安装方式(如光盘、USB盘、PXE、镜像引导)、系统配置过程中的重要设置(如网络、时间、分区、授权管理等)、FAQ等常见疑问解决方案。该指南有助于用户顺利完成系统部署和初步配置。文中对不同架构(包括 AMD64, ARM64, LoongArch)的支持情况做了特别介绍,并针对鲲鹏服务器进行了特定提示和参数调整。 适合人群:具备Linux基础知识的专业IT技术人员,尤其是在服务器安装和管理系统方面的工作者。 使用场景及目标:为那些计划部署或升级到统信服务器操作系统的数据中心提供全面的安装指导,确保系统能够稳定高效地投入使用。此外也为遇到安装难题的技术员提供排障方法。 其他说明:除了图文并茂的教学流程,文中还涉及了诸如BIOS设置、安装过程中可能出现的问题及其解决方案等多个方面。特别强调了安全性配置和支持多语言特性等内容。

    阿里巴巴的销售管理分析(50页).ppt

    阿里巴巴的销售管理分析(50页)

    基于SVPWM的直接转矩控制:Matlab_Simulink仿真模型(成品)——包含PI控制的转速环、转矩环和磁链环,以及空间矢量SVPWM调制与转矩脉动优化.pdf

    基于SVPWM的直接转矩控制:Matlab_Simulink仿真模型(成品)——包含PI控制的转速环、转矩环和磁链环,以及空间矢量SVPWM调制与转矩脉动优化.pdf

    chromedriver-mac-x64-135.0.7049.28.zip

    chromedriver-mac-x64-135.0.7049.28.zip

    是一个专为Windows用户设计的免费Android应用反编译和打包工具 这款工具集成了多种实用功能,包括解包、搜索、重新打包、签名以及批量打包,使得Android应用的逆向工程过程变得更加简便

    是一个专为Windows用户设计的免费Android应用反编译和打包工具 这款工具集成了多种实用功能,包括解包、搜索、重新打包、签名以及批量打包,使得Android应用的逆向工程过程变得更加简便

    门户元素-消息通知.zip

    门户元素-消息通知.zip

    基于SpringBoot的福泰轴承进销存系统(源码+数据库+万字文档)

    一、项目介绍 403.系统包含三种角色:管理员、仓库人员、销售人员,主要功能如下。 管理员: 1. 个人中心:管理个人信息,包括修改密码、查看个人资料等。 2. 管理员管理:对其他管理员进行添加、编辑、删除等操作。 3. 基础数据管理:管理系统的基础数据,包括商品分类、供应商信息、客户信息等。 4. 公告管理:发布公司内部公告通知。 5. 供应商信息管理:管理供应商的信息,包括添加、编辑、删除供应商等操作。 6. 客户管理:管理客户信息,包括添加、编辑、删除客户等操作。 7. 商品管理:管理商品信息,包括添加、编辑、删除商品信息等操作。 8. 商品出入库管理:管理商品的出入库记录,包括入库、出库、调拨等操作。 9. 商品销售管理:管理商品的销售记录,包括销售订单管理、销售统计等。 10. 商品退货管理:处理客户退货请求,包括审核、退款等操作。 11. 销售人员管理:对销售人员进行添加、编辑、删除等操作。 12. 仓库人员管理:对仓库人员进行添加、编辑、删除等操作。

    chromedriver-win64-134.0.6998.90.zip

    chromedriver-win64-134.0.6998.90.zip

    VLAN划分在网络管理中的应用:基于Cisco 2960交换机的广播域隔离实践

    内容概要:本文主要介绍了VLAN的概念及其重要性,尤其是如何将大量设备划分为多个广播域,从而有效防止局部网络攻击对整个网络的影响。文中具体讲述了利用Cisco 2960系列交换机来进行VLAN划分的方法步骤,并附带了一个简单实验案例。实验内容展示了如何通过配置命令设置不同部门所用的机器归属于特定VLAN,同时测试跨VLAN间主机间的不可达状态,以验证分区的有效性。 适合人群:对于有一定基础但想要深入理解企业级网络管理和安全性措施的学习者、网络管理员和技术爱好者。 使用场景及目标:适用于任何规模的企业内部网络架构设计与优化过程中,尤其是在面对复杂的网络安全环境时,能够更好地规划和控制网络流量。 其他说明:文章侧重于理论结合实际操作,详细解释每个步骤背后的原理,确保读者可以动手搭建并测试自己的小型网络实验环境。此外,还提及到了关于ARP攻击的具体防范措施之一——限制传播范围。这有助于提高用户对企业信息化安全的认知水平,增强应对潜在风险的能力。

    DBeaver MongoDB驱动包

    DBeaver MongoDB驱动包

    uwsgi-alarm-curl-2.0.27-4.el8.x64-86.rpm.tar.gz

    1、文件说明: Centos8操作系统uwsgi-alarm-curl-2.0.27-4.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf uwsgi-alarm-curl-2.0.27-4.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm

    基于SpringBoot的海滨体育馆管理系统(源码+数据库+万字文档)

    427海滨体育馆管理系统,系统包含两种角色:用户、管理员,系统分为前台和后台两大模块,主要功能如下: 登录模块的实现 管理员和学生在登录界面输入用户名、密码,并选择用户类型进行登录操作。 注册模块的实现 没有账号的学生用户可进行注册操作。 学生管理模块的实现 管理员可以添加、修改和删除学生信息。 系统主界面模块的实现 学生可以进入系统前台查看系统信息,包括首页、器材信息以及体育论坛等。 器材管理模块的实现 管理员可以添加、修改和删除器材信息,学生可查看器材信息。 器材借出管理模块的实现 学生可以添加器材借出信息,管理员可以查看和管理所有器材借出信息,并可进行修改和删除操作。 活动预约管理模块的实现 学生可以添加活动预约信息,管理员可以查看活动预约信息,并可进行审核、修改和删除操作。

    2025年福建三明公交路线及站点矢量shp数据.zip

    2025年福建三明公交路线及站点矢量shp数据.zip

    高性能计算集群操作系统迁移的技术细节及实施方案

    内容概要:本文详细介绍了高性能计算集群的操作系统选型和迁移实施过程。主要内容包括操作系统迁移背景,如CentOS生命周期结束后的安全风险,硬件不兼容等问题;迁移内容涵盖管理节点和计算节点的操作系统更换及其与各类基础软件和计算软件的适配工作;详细展示了选型评估标准(如安全性、性能支持和技术社区),以及适配步骤(从软件调研到部署及用户引导)。还对迁移前后的性能进行了测试和对比,确认满足系统性能要求。 适合人群:面向高性能计算领域的IT管理和技术人员、系统管理员和相关领域的研究者。 使用场景及目标:旨在为那些需要进行大型运算集群改造的人群提供指导,帮助他们理解和实操操作系统迁移的整个过程。同时,确保新的操作系统能够与现有的硬件和各种应用无缝衔接,在迁移过程中保持集群工作的连贯性和效率。 其他说明:文中提供了大量的实际案例分析,包括交我算平台的具体实例,并探讨了不同Linux发行版的特性和优势(如openEuler、Rocky Linux)。此外还有性能测试的数据支撑,验证了新型操作系统是否能继续支持高性能计算任务的需求。

    全国计算机等级考试四级操作系统原理考点解析与试题详解

    内容概要:本文档是全国计算机等级考试(NCRE)四级操作系统原理科目的样题及参考答案,涵盖单项选择题与多项选择题两大部分。主要内容涉及操作系统的并发性和多道程序设计、进程管理和调度、内存管理和虚拟存储、文件系统和I/O控制等方面的关键知识点和技术细节。此外还提供了详细的答案解析,旨在帮助考生更好地理解和掌握操作系统原理。 适合人群:参加全国计算机等级考试四级操作系统原理科目考试的学生及希望深入了解操作系统核心技术的专业人士。 使用场景及目标:考生可通过做题巩固所学的操作系统理论知识,加深对该学科的理解,并熟悉考试题型与答题技巧,为目标是在短时间内快速提升应试能力以及全面掌握操作系统的专业知识。 其他说明:文档不仅包含了各类典型的练习题目及其解答提示,而且还强调了实际应用中常见的操作系统设计挑战及相关解决方案的讨论。这有助于读者更深入地思考和探究操作系统的设计思想及其实现机制。

    基于vue3+springboot的教务管理系统源代码+数据库+答辩PPT

    基于vue3+springboot的教务管理系统源代码+数据库+答辩PPT

    2025年使用DeepSeek赋能家庭教育.pdf

    2025年使用DeepSeek赋能家庭教育.pdf

Global site tag (gtag.js) - Google Analytics