希望对刚要接触ruby的人有点帮助.我个人也是新手
这段时间,准备空闲的时候学习一下 ruby,我个人主要是用于结合web产品写自动化测试工具。
ruby 下载地址:
http://www.ruby-lang.org/en/downloads/
netbeans下载地址:
http://netbeans.org/downloads/start.html?platform=windows&lang=zh_CN&option=ruby
安装rails
打开命令行窗口,输入并执行命令gem install rails --remote
或者先下载:
从URL地址http://rubyforge.org/frs/?group_id=307&release_id=4878下载rails- 1.0.0.gem和rails-1.0.0.zip。将下载到的文件保存到同一目录下(D:\RoR)。
打开命令行窗口,进入D:\RoR目录下,执行命令gem install rails即可完成安装。
Ruby是一种简单的面向对象编程语言,十分容易上手,并且功能强大。她是一个日本的Yukihiro Matsumoto(大家都叫他Matz.)在1995年首次发布的。Ruby是面向对象的编程语言,她追求的是“简便快捷的面向对象编程”。Ruby是解释型语言,因此不需编译即可快捷地编程。同时Ruby具有类似Perl的强大的文本处理功能,她可并不只是个玩具,您可以用她来进行实用的编程
◆用模块进行混合插入(Mixin) Ruby故意舍弃了多重继承,但拥有混合插入功能。使用模块来超越类的界限来共享数据和方法等。
◆迭代器 该功能可以将循环抽象化。 ◆闭包 可以将某过程片段对象化。对象化后的该过程片段就称作闭包。 ◆功能强大的字符串操作/正则表达式 以Perl为样板创造出了功能强大的字符串操作和正则表达式检索功能。 ◆拥有超长整数 添加超长整数功能后,可以计算非常大的整数。例如计算400的阶乘也轻而易举。 ◆具有错误处理功能 错误处理功能可以使您编写代码处理出错情况。 ◆可以直接访问OS Ruby可以使用(UNIX的)绝大部分的系统调用。单独使用Ruby也可以进行系统编程。 ◆动态加载 若OS支持的话,可以在运行时读入对象文件。
======================================
demo 启动netbeans 新建rubyapplication应用程序
在main.rb 上写入: puts "Hello World"
经典到烂的Hello World。比java省事很多
2.Ruby中的方法。使用def定义,后面跟方法名,要小写。
Ruby代码
def saysomething
puts("Hello")
end
===================================
ruby学习
颜勇青
Ruby简介
Ruby是一种简单的面向对象编程语言,十分容易上手,并且功能强大。她是一个日本的Yukihiro Matsumoto(大家都叫他Matz.)在1995年首次发布的。Ruby是面向对象的编程语言,她追求的是“简便快捷的面向对象编程”。Ruby是解释型语言,因此不需编译即可快捷地编程。同时Ruby具有类似Perl的强大的文本处理功能,她可并不只是个玩具,您可以用她来进行实用的编程。
Ruby优点
◆解释器
Ruby是解释型语言,其程序无需编译即可轻松执行。
◆变量无类型
Ruby的变量没有类型,因此不必为静态的类型匹配而烦恼。相应地,错误检查功能也变弱了。
◆不需要变量声明
所有变量均无需声明即可立即使用。另外,从变量名即可判断出是何种变量(局部变量,全局变量,实例变量)。
◆语法简单
语法比较简单,类似Algol系语法。
◆不需要内存管理
具有垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。
◆一切都是对象
Ruby从一开始就被设计成纯粹的面向对象语言,因此以整数等基本数据类型为首的所有东西都是对象,它们都有发送信息的统一接口。
◆类,继承,方法
Ruby当然具有面向对象语言的基本功能。
◆特殊方法
可向某对象添加方法。例如,可以把GUI按钮被按下时的动作作为方法记述下来,还可以用它来进行原型库(prototypebase)的面向对象编程(有人这么干吧)。
Ruby优点
◆用模块进行混合插入(Mixin)
Ruby故意舍弃了多重继承,但拥有混合插入功能。使用模块来超越类的界限来共享数据和方法等。
◆迭代器
该功能可以将循环抽象化。
◆闭包
可以将某过程片段对象化。对象化后的该过程片段就称作闭包。
◆功能强大的字符串操作/正则表达式
以Perl为样板创造出了功能强大的字符串操作和正则表达式检索功能。
◆拥有超长整数
添加超长整数功能后,可以计算非常大的整数。例如计算400的阶乘也轻而易举。
◆具有错误处理功能
错误处理功能可以使您编写代码处理出错情况。
◆可以直接访问OS
Ruby可以使用(UNIX的)绝大部分的系统调用。单独使用Ruby也可以进行系统编程。
◆动态加载
若OS支持的话,可以在运行时读入对象文件。
Ruby安装
window
具体安装:
网站首页 :http://www.ruby-lang.org
下载首页: http://www.ruby-lang.org/en/downloads/ftp
下载 :ftp://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/
Linux
具体安装介绍:
http://dohkoos.name/install-rails-on-ubuntu-810.html
Ruby语法学习
经典到烂的Hello World。比java省事很多
puts "Hello World"
print(“请输入你的名字:")
name = gets()
puts "hello #{name}".upcase
(1)print与puts的区别。print不换行,puts换行]
(2)在ruby里,你想什么时候使用变量就什么时候使用,不必要事先定义,ruby会自己判断变量类型。
(3)ruby和java一样是大小写敏感的。
(4)gets后的括号,和print,puts后的括号一样,都是可选择的,只要不引起误解,都可以去掉。(不建议。)
(5)#{}取变量值
Ruby语法学习
2.Ruby中的方法。使用def定义,后面跟方法名,要小写。
Ruby代码
def saysomething
puts("Hello")
end
传参数
Ruby代码
?
def saysomething(name)
puts("Hello #{name}")
end
注释:单行注释:#号为注释符号,相当于java里的//
多行注释:=begin?=end
Ruby语法学习
Ruby的类定义,与java也类似,也以class 开头,加类名
class?MyClass??
end??
ob?=?MyClass.new
(1)在这个类里面,虽然什么都没有定义,但是Ruby会自动的继承Object类。所以,可以调用ob.class
(2)类名的第一个字母必须大写
Ruby语法学习
2.类实例和实例变量 :
class?Dog??
??? ? def?set_name(name)??
????? ? ??@dogname?=?name??
???? end
def?get_name(name)??
????? ? ??return @ dogname
???? end
end
dog?=?Dog.new??
dog.set_name("Jack")??
puts?dog.get_name??
(1)@dogname此为实例变量,属于Dog实例,不需要事先声明
(2)如果不给@dogname设值,即不先调用dog.set_name("Jack"),而直接puts dog.get_name,不会像java那样获得空指针异常,返回一个nil
Ruby语法学习
继承,与java一样,也是单继承。
例如:
class?Thing
def?get_name??
????????return?@name??
??????end
def?set_name(?aName?)??
????????@name?=?aName??
??????end?
End
class?Treasure?< Thing
End
(1)继承写法如下class Treasure < Thing
(2)super( aName, aDescription )与java功能相同
Ruby语法学习
ruby中的array与java中的有区别。它可以在一个array里存放多种类型。
Ruby代码
a?=?['hello',1.0,1]??
??
puts(a[0],a[1])??
2.ruby可以数组越界。。。。超出数组返回nil
3.ruby数组可以存放方法
def?hello??
????return?"hi"??
end??
??
a?=?['hello',hello,1]??
??
puts(a[0],a[1])??
Ruby语法学习
4多维数组创建方法,先创建一个数组,再在该数组里添加数组。
a?=?[????[1,2,3,4],???
?????????[5,6,7,8],???
?????????[9,10,11,12],???
?????????[13,14,15,16]??]??
5,数组遍历使用for...in...end,与java里的foreach循环很相似
a?=?[['one','two','three','four'],[1,2,3,4]]??
??
for?i?in?a??
????for?j?in?i??
???????puts?j???
????end??
end?
Ruby语法学习
ruby里的hash应该就是java里的map了。
创建方法:
h1?=?Hash.new??
h2?=?Hash.new("hello")??
h1 = Hash.new
h2 = Hash.new("hello")
这两个都创建了一个Hash,
区别是:
在h1里如果找不到对应的值则返回nil,h2则返回hello
Ruby语法学习
1.for循环,上面有用过,类似java的foreach循环
Ruby代码
for?i?in?[1,2,3]?do??
????puts?i??
end??
for i in [1,2,3] do
puts i
end
do可省略
另一种写法,有点陌生
Ruby代码
[1,2,3].each?do?|i|??
????puts?i??
end??
Ruby语法学习
while循环,看代码。
Ruby代码
while?tired???
???sleep???
end???
sleep?while?tired???
while tired
sleep
end
sleep while tired
这两段代码效果相同。不是java里while与do...while的区别.如果要do...while的效果,要这么写
Ruby代码
begin?puts(x)?end?while?(x?<?1)?
Ruby语法学习
导入库:
#system
require 'rubygems‘
require 'hpricot'
require 'xmlrpc/client'
require 'open-uri'
require 'timeout'
require 'domain/list_page'
require 'domain/site'
require 'common/path_dispose'
#db
require "active_record"
Ruby语法学习
连接数据库:
require 'rubygems‘
require 'active_record‘
ActiveRecord::Base.establish_connection(
:adapter => "mysql",
:host => "10.1.6.211",
:username => "yyq",
:password => "yyq",
:database => "amazon"
)
ActiveRecord::Base.connection.execute 'SET NAMES UTF8‘
class Comment<ActiveRecord::Base
End
类名对应表
Ruby语法学习
查询书的isbn条码
class Comment<ActiveRecord::Base
def self.query_book_isbn(name)
bookname = find(:first,:conditions => ["isbn = ?",name])
return bookname != nil
end
End
拼sql语句查询
def self.query_this_url(start,pagesize)
sql = "select id,url,fix from producturls limit #{start},#{pagesize}"
mp3list = find_by_sql(sql)
return mp3list
end
Ruby应用
抓点评内容:
以点评这个为例:http://site.taobao.com/1512/site-140633.htm
拿下第一页的10条点评
require 'rubygems'
require 'hpricot'
require 'open-uri'
begin
url="http://site.taobao.com/1512/site-140633.htm";
doc = Hpricot(open(url))
doc.search("//div[@class='gain-txt']/") do |div|
puts div.inner_text
puts “下一条"
end
end
Ruby总结
* 语法简单
* 垃圾回收
* 可移植性
* 动态载入
* 完全免费
* 正则表达式
分享到:
相关推荐
总之,无论你是对编程感兴趣的新手,还是想扩展技能树的开发者,这份“Ruby入门教程中文PDF 附实例”都将是你宝贵的参考资料。通过学习,你不仅可以掌握Ruby的基础知识,还能体验到编程的乐趣和效率。
这本书“Ruby入门到精通”显然旨在引导初学者逐步掌握Ruby语言。以下是一些关键知识点,它们可能是书中涉及的内容: 1. **基础语法**:包括变量(本地、实例、类和全局变量)、常量、符号、字符串、数字、数组和...
总的来说,这份Ruby入门教程应该能帮助初学者建立起对Ruby语言的全面认识,从基础语法到高级特性,再到实际开发中的工具使用,为进入Ruby世界提供了一条清晰的学习路径。通过深入学习和实践,读者将能够运用Ruby进行...
这是一个短小的Ruby入门,完全读完只需20分钟。这里假设读者已经安装了Ruby,如果你没有安装的话,请在阅读文前访问Ruby官方网站进行下载并安装。
Ruby是一种功能强大的面向对象的脚本语言,可以使用它方便快捷地进行面向对象程序设计。与Perl类似,而且Ruby具有强大的文本处理功能,使文本处理变得简单。此外还可以方便地使用C语言来扩展Ruby的功能。
《Ruby入门书籍》可能是一本详细介绍Ruby编程语言的基础教程。根据提供的文件名,我们可以推测这本书籍可能包含了两个部分:中文文档和"The Ruby Way"的翻译或解读。 "ruby中文文档.chm"可能是对Ruby语言的中文详细...
《Ruby语言入门教程v1.0》是一份详尽的指南,旨在为初学者提供一个易于理解的Ruby语言学习路径。下面,我们将深入探讨该教程所涵盖的关键知识点,特别是其标题和描述中提及的核心概念。 ### 1. 编程语言的发展简史 ...
Ruby的语法结构清晰,易于理解和编写,非常适合初学者入门。 Ruby的核心特性包括: 1. 面向对象:Ruby是一种完全的面向对象语言,每一个数据都是一个对象,包括基本类型如整数、字符串和布尔值。这意味着你可以对...
本“Ruby入门中文合集”是为初学者准备的一份全面学习资源,旨在帮助你快速掌握Ruby的基础知识和核心概念。以下是你将通过这个合集学习到的关键知识点: 1. **Ruby基础语法**:了解Ruby的变量(局部变量、实例变量...
内容概要:本篇《Ruby入门教程》引导初学者通过简易的例子逐步理解Ruby的基本语法概念及其特点,诸如IRB的应用、方法定义与使用以及类的概念与面向对象的设计等关键内容,最终演示了一段完整的程序案例以深化理解和...
在二十分钟的Ruby入门教程中,我们将快速浏览Ruby的基础知识,包括语法、数据类型、控制结构以及简单的类定义。 首先,让我们从Ruby的基本语法开始。Ruby的注释以`#`字符开始,一直持续到行尾。例如: ```ruby # 这...
### Ruby 语言中类与对象简介及入门级语法详解 #### 一、Ruby中的面向对象概念 Ruby是一种纯粹的面向对象编程语言,这意味着在Ruby中几乎所有的内容都是对象。面向对象编程(Object-Oriented Programming,OOP)的...
通过"Ruby从入门到精通"的教程,你可以系统地学习这些知识,并通过实践项目加深理解,逐渐成为一名熟练的Ruby开发者。教程中可能涵盖了以上各点的详细解释,以及实战示例和习题,帮助你逐步掌握Ruby的精髓,实现从...
通过这个"Ruby入门练习上手项目",你不仅可以学习到基础的Ruby编程,还能了解Web开发的基础,为未来的项目开发打下坚实基础。实践是检验理解的最佳方式,所以动手尝试,不断调试和优化代码,你会在过程中不断进步。
Ruby的语法受到Perl和Smalltalk的影响,旨在提供一种更接近自然语言的编程体验,减少程序员在编写代码时的繁琐工作。自1996年发布1.0版本以来,Ruby虽然起初并不广为人知,但随着Rails框架的出现,它迅速获得了关注...
在Ruby on Rails入门经典中,你将学习到以下核心知识点: 1. **Ruby语言基础**:首先,你需要了解Ruby的基础语法,包括变量、数据类型(如字符串、整数、浮点数、数组、哈希)、控制结构(如条件语句if/else,循环...
通过"ruby入门练习题",你将有机会实践这些概念,理解如何定义和使用类,如何操作对象,以及如何利用Ruby的特性来解决问题。这些练习题可能会涉及到数据库连接,这将让你了解如何在Ruby中使用像`ActiveRecord`这样的...
在学习Ruby时,掌握基本语法是第一步,接着了解面向对象编程的概念和实践,然后可以深入学习Ruby on Rails,理解其工作原理和最佳实践。此外,熟悉Ruby的测试工具,如RSpec和Test::Unit,对于编写高质量的代码至关...