`

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语法基础教程

    ruby语法基础教程,学习ruby的入门教程。

    ruby基本语法入门教程

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

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

    本文的目的是为了找出为什么.NET程序员都想学习并使用Ruby,并探索Ruby语言的核心语法。

    Ruby 小白入门指南理解 Ruby 及其特点.txt

    安装完成后,你可以在命令行中输入 ruby -v 来检查 Ruby 是否成功安装以及安装的版本。 三、学习基础语法 变量和数据类型:Ruby 支持多种基本数据类型,包括整数、浮点数、字符串、数组、哈希等。你需要了解如何...

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

    Ruby 是一种面向对象的编程语言,其核心概念之一就是类和对象。在 Ruby 中,类是对象的模板或蓝图,它定义了对象应有的属性和方法。对象是类的具体实例,它根据类的定义来创建,并包含类的所有属性和方法

    2024年Ruby快速入门(10分钟).zip

    从Ruby的介绍和特点开始,逐步介绍了如何安装Ruby、学习基本语法、动手实践和高级特性。博客还提供了Ruby的实际应用场景,如Web开发、数据处理和自动化测试。此外,博客还提供了学习资源和进阶建议,如官方文档、...

    Ruby语言入门中文教程PDF+源代码.rar

    内容概要:这份资源包括了一份Ruby语言入门的中文教程PDF以及相应的源代码demo。教程将介绍Ruby语言的基础概念、语法特性和常用技巧,而源代码demo则提供了实际的示例代码,帮助读者更好地理解和应用Ruby编程语言。 ...

    learning-ruby.

    学习ruby的基础文档,里面有五个章节,详细介绍了ruby入门的基础语法。

    Ruby的基础语法入门学习教程

    主要介绍了Ruby的基础语法入门学习教程,包括空白和保留字等书写的基本知识点,需要的朋友可以参考下

    ruby基础教程(中文第四版).epub

    俗易懂地讲解了编写程序时所需要的变量、 常量、 方法、 类、 流程控制等的语法, 以及主要类的使用方法和简单的应用, 让没有编程经验的读者也能轻松掌 握Ruby, 找到属于自己的快乐编程方式, 做到融会贯通并灵活...

    Ruby on Rails开发 从入门到精通实战教程.rar

    本资源是一套关于Ruby on Rails开发的全面教程,旨在帮助学习者从入门到精通掌握Ruby on Rails框架的开发技能。教程内容涵盖了Ruby语言基础、Rails框架搭建、Web应用开发、数据库操作、部署与维护等方面的知识。 ...

    Ruby语言入门到精通

    第二篇讲解Ruby语言的核心概念和语法,并综合这些概念和语法,以机器人小程序为例进行了实战开发;第三篇深入讲解Ruby on Rails 开发,以及怎么样用Ruby访问因特网和网络连接服务,最后还对大量非常有用的Ruby程序库...

    Ruby_向ruby之父学程序设计(第二版)(经典入门)

     附录:使用Ruby时所需的知识、相关的资讯等,Ruby的mailing-list、网络上的各种资源与其用法,以及安装Ruby的方法。  希望本书的读者,都能从使用Ruby的过程中,找到属于自己的“兴趣”与“乐趣”。

    Ruby语言入门教程.rar

    介绍了ruby语法,rails用法等等。 是学习ruby和rails的入门用书。

    Ruby菜鸟入门指南.md

    这份文档是Ruby编程入门指南,主要内容包括: 1. 字符串的几种表示方式(单引号、双引号、多行字符串)及其区别。 2. 符号(Symbol)的概念及作用,如用于Hash的键。 3. Ruby中"一切皆对象"的理念,数字、布尔值、类、nil...

    ruby 语言学习

    ruby 语言学习基本语法与入门 无业游民编写

    ruby教程中文第四版

    Ruby基础教程(第4版) 为日本公认的最好的Ruby入门教程。松本行弘亲自审校并作序推荐。本书支持最新的Ruby 2.0,也附带讲解了可运行于1.9版本的代码,事无巨细且通俗易懂地讲解了编写程序时所需要的变量、常量、方法...

Global site tag (gtag.js) - Google Analytics