`

ruby 入门安装 以及语法学习 简介

    博客分类:
  • ruby
阅读更多
希望对刚要接触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入门教程中文PDF 附实例”都将是你宝贵的参考资料。通过学习,你不仅可以掌握Ruby的基础知识,还能体验到编程的乐趣和效率。

    ruby入门到精通

    这本书“Ruby入门到精通”显然旨在引导初学者逐步掌握Ruby语言。以下是一些关键知识点,它们可能是书中涉及的内容: 1. **基础语法**:包括变量(本地、实例、类和全局变量)、常量、符号、字符串、数字、数组和...

    Ruby相关入门教程网址

    总的来说,这份Ruby入门教程应该能帮助初学者建立起对Ruby语言的全面认识,从基础语法到高级特性,再到实际开发中的工具使用,为进入Ruby世界提供了一条清晰的学习路径。通过深入学习和实践,读者将能够运用Ruby进行...

    ruby基本语法入门教程

    这是一个短小的Ruby入门,完全读完只需20分钟。这里假设读者已经安装了Ruby,如果你没有安装的话,请在阅读文前访问Ruby官方网站进行下载并安装。

    ruby语法基础教程

    Ruby是一种功能强大的面向对象的脚本语言,可以使用它方便快捷地进行面向对象程序设计。与Perl类似,而且Ruby具有强大的文本处理功能,使文本处理变得简单。此外还可以方便地使用C语言来扩展Ruby的功能。

    ruby入门书籍

    《Ruby入门书籍》可能是一本详细介绍Ruby编程语言的基础教程。根据提供的文件名,我们可以推测这本书籍可能包含了两个部分:中文文档和"The Ruby Way"的翻译或解读。 "ruby中文文档.chm"可能是对Ruby语言的中文详细...

    Ruby语言入门教程v1.0

    《Ruby语言入门教程v1.0》是一份详尽的指南,旨在为初学者提供一个易于理解的Ruby语言学习路径。下面,我们将深入探讨该教程所涵盖的关键知识点,特别是其标题和描述中提及的核心概念。 ### 1. 编程语言的发展简史 ...

    ruby入门简单demo,学习练习编程语言

    Ruby的语法结构清晰,易于理解和编写,非常适合初学者入门。 Ruby的核心特性包括: 1. 面向对象:Ruby是一种完全的面向对象语言,每一个数据都是一个对象,包括基本类型如整数、字符串和布尔值。这意味着你可以对...

    ruby入门中文合集

    本“Ruby入门中文合集”是为初学者准备的一份全面学习资源,旨在帮助你快速掌握Ruby的基础知识和核心概念。以下是你将通过这个合集学习到的关键知识点: 1. **Ruby基础语法**:了解Ruby的变量(局部变量、实例变量...

    Ruby编程入门教程详解-基本语法概念及其特点

    内容概要:本篇《Ruby入门教程》引导初学者通过简易的例子逐步理解Ruby的基本语法概念及其特点,诸如IRB的应用、方法定义与使用以及类的概念与面向对象的设计等关键内容,最终演示了一段完整的程序案例以深化理解和...

    二十分钟Ruby入门教程

    在二十分钟的Ruby入门教程中,我们将快速浏览Ruby的基础知识,包括语法、数据类型、控制结构以及简单的类定义。 首先,让我们从Ruby的基本语法开始。Ruby的注释以`#`字符开始,一直持续到行尾。例如: ```ruby # 这...

    Ruby 语言中类与对象简介,入门级语法介绍

    ### Ruby 语言中类与对象简介及入门级语法详解 #### 一、Ruby中的面向对象概念 Ruby是一种纯粹的面向对象编程语言,这意味着在Ruby中几乎所有的内容都是对象。面向对象编程(Object-Oriented Programming,OOP)的...

    ruby 入门练习上手项目

    通过这个"Ruby入门练习上手项目",你不仅可以学习到基础的Ruby编程,还能了解Web开发的基础,为未来的项目开发打下坚实基础。实践是检验理解的最佳方式,所以动手尝试,不断调试和优化代码,你会在过程中不断进步。

    Dot Net程序员新方向 Ruby核心语法入门

    Ruby的语法受到Perl和Smalltalk的影响,旨在提供一种更接近自然语言的编程体验,减少程序员在编写代码时的繁琐工作。自1996年发布1.0版本以来,Ruby虽然起初并不广为人知,但随着Rails框架的出现,它迅速获得了关注...

    Ruby on Rails入门经典

    在Ruby on Rails入门经典中,你将学习到以下核心知识点: 1. **Ruby语言基础**:首先,你需要了解Ruby的基础语法,包括变量、数据类型(如字符串、整数、浮点数、数组、哈希)、控制结构(如条件语句if/else,循环...

    ruby入门练习题.zip

    通过"ruby入门练习题",你将有机会实践这些概念,理解如何定义和使用类,如何操作对象,以及如何利用Ruby的特性来解决问题。这些练习题可能会涉及到数据库连接,这将让你了解如何在Ruby中使用像`ActiveRecord`这样的...

    Ruby从入门到精通pdf

    通过"Ruby从入门到精通"的教程,你可以系统地学习这些知识,并通过实践项目加深理解,逐渐成为一名熟练的Ruby开发者。教程中可能涵盖了以上各点的详细解释,以及实战示例和习题,帮助你逐步掌握Ruby的精髓,实现从...

    ruby语言入门教程(中文版)[PDF]

    在学习Ruby时,掌握基本语法是第一步,接着了解面向对象编程的概念和实践,然后可以深入学习Ruby on Rails,理解其工作原理和最佳实践。此外,熟悉Ruby的测试工具,如RSpec和Test::Unit,对于编写高质量的代码至关...

Global site tag (gtag.js) - Google Analytics