爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!
当前所在位置:主页 > 脚本 > ruby专题 >
  • 魔艺客提供SEO\SEM推广整合营销服务
  • 提供整套互联网营销整合方案-魔艺客
  • 魔艺客高端网站建设开发服务十一大优惠服务
  • 资深的网站建设开发经验,一对一服务-魔艺客高
  • 一站式服务,从服务器到网站,三站何以尽在魔
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

Terry七月Ruby读书笔记(比较详细)

发布时间:2017-09-08 17:21    作者:爱开发联盟    浏览:次    来源:aikaifa.com.cn 分享:

Page 3 概述

¨         解释执行:PythonRuby,交互性很好;

¨         编译执行:Pascal, C,速度较快。

n         本地执行,如CC++

n         虚拟机执行,如Java, C#

 

¨         动态语言,如JavaScriptRuby

¨         静态语言,如C++Java

 

语言

¨         语法

关键字

¨         语义

¨         语用

 

松本行弘(Matz) 1993

Ruby [`ru:bi](红宝石)

 

 

Ruby 吸取了 perl 的正则表达式, python 的简单性可读性,smalltalk 的纯面向对象语法和单继承,LISP 的无穷嵌套的语法,Java的线程…

 

Page 14 上手

XP

Cmd

C:\Documents and Settings\Administrator>ruby -v

ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

 

第一种方式:ruby命令

C:\Documents and Settings\Administrator>ruby -e 'print "hello world"'

hello world

 

ruby               运行ruby;

-e                  执行后面的ruby脚本程序;

print               打印显示;

hello,world     要输出的内容。

 

第二种方式:irb交互执行

C:\Documents and Settings\Administrator>irb

irb(main):001:0> print "hello world"

hello world=> nil

irb(main):002:0> exit

 

exit: 退出irb交互式环境

 

第三种方式:创建ruby脚本

C:\Documents and Settings\Administrator>copy con helloworld.rb

print "hello world"

print "3*7=",3*7

^Z

已复制         1 个文件。

 

C:\Documents and Settings\Administrator>helloworld.rb

hello world3*7=21

 

Page 17 IDE

¨         Eclipse + RDTRuby Development Tools

¨         FreeRIDE+SciTE

1.在SciTE编辑Ruby代码;

2.保存为 .rb文件;

3.菜单栏,工具->运行或者F5;

Page 18 语法

1.      注释

单行注释       #                多行注释     =begin            =end

Ruby的内嵌文档(Rdoc)注释,用ri命令从源文件中产生文档。

Rdoc内嵌在ruby代码之中的,可以转换为html文档。

ri命令,用来查看函数说明、类说明。函数说明、类说明应该放置在=begin和=end之中。注意:“=begin”一定要写在行首,也就是说,这一行前六个字符是“=begin”,之前不允许有空格。

2.      分行

用分号;表示语句结束。

一行多个语句,用分号隔开,最后一个语句,分号可以省略,换行符表示一行结束。

语句太长,可以在行末用符号 \ ,表示续行。

3.      分隔符

名称

符号

用途

分号

;

用来分隔一行中的多个语句

圆括号

(  )

提高优先级;定义方法时容纳参数列表

空格

 

分隔字符;在可省略()的地方,代替()

逗号

,

隔开多个参数

.

将对象与它的方法隔开

紧连的两个冒号

::

域作用符,将模块(类)与它的常量隔开

4.      关键字

Ruby中的关键字如下:

模块定义:

module

异常处理:

rescue,ensure

类定义:

class

对象引用:

super,self

方法定义:

def,undef

块的起始:

begin/end

检查类型:

defined?

嵌入模块:

BEGIN,END

逻辑值和空值:

true,false,nil

文件相关:

__FILE__,__LINE__

逻辑判断:

not,and,or

方法返回:

return

条件语句:

if,then,else,elsif,case,when,unless

别名:

alias

循环语句:

for,in,while,until,next,break,do,redo,retry,yield

BEGIN模块相当于C语言中的宏,END模块用来作一些收尾工作。有了

require,include,应该取消BEGIN和END的语法定义。

5.      运算符

6.      标识名:

常量,变量,方法,类和模块;

大小写敏感;

标识名第一个字符表明这个名字的用法。

局部变量、方法参数和方法名称

以小写字母开头或者下划线开头;

类名、模块名和常量

用大写字母开头。

全局变量

以美元符为前缀$;

实例变量

以@开头;

类变量

用@@开头;

词首字母后面可以是字母、数字和下划线的任意组合;

@后面不可以直接跟数字。

Ruby程序代码用7位ACSII码来表示,通过语言扩展来支持 EUC,SJIS或UTF-8等8位编码系统。Ruby2.0版本将支持16位的Unicode编码。

7.      类库

可以直接使用:

i) 关键字;

ii) require或者include包含的类库中的类、方法;

iii)从父类中继承得到的方法。

 

puts

每个参数后自动换行

print

不自动换行,换行用”\n”

printf

按格式输出,不自动换行

gets

从键盘或文件中读入数据

 

C:\Documents and Settings\Administrator>ruby -e 'puts "hello","world"'

hello

world

 

C:\Documents and Settings\Administrator>ruby -e 'printf "number:%f",3.2'

number:3.200000

 

 

注意:printf的参数之间用逗号隔开。

C:\Documents and Settings\Administrator>ruby -e ' printf "number:%4.3f,string %s

",1.5,"hello world"'

number:1.500,string hello world

 

8.      数据类型

类型

分类

说明及示例

数字

整数型

0        八进制,

0x  十六进制,0b  二进制

浮点型

字符串

单引号  ‘'

 

双引号  “”

 

数组

从0开始,每个元素可以不同类型

例 [2.4,"thank you",[a,b,c],78]

区间

1..5

1,2,3,4,5

1…5

1,2,3,4

正则表达式

 

 

9.      赋值运算

交换变量a,b的值:

a,b=b,a;

注意括号:

a = (b = 1 + 2) + 3                #a=6 ,b=3

逗号,从左往右运算,分别赋给a,b,c

x = 0                           #x=0

a,b,c = x, (x+1), (x+2)           #a=0 ,b=1,c=2

10.  条件运算

==

等于

!=

不等于

eql?

比较两个对象的值、类型是否相等

equal?

比较两个对象在内存中地址是否相同

小于

大于

<=

小于等于

>=

大于等于

=~

匹配正则表达式

!~

断言不匹配正则表达式

===

右边的对象在左边区间内

puts(0..9)===3.14  #true puts('a'..'f')==='c'    # true

<=>

比较两个对象大小,大于1,等于0,小于-1.

Ruby里,nil和false为假,其它都为真。

 

11.  判断语句

  1. 单行if语句

if    then    end

(    ) if

  1. 多行if语句

if    elsif    else    end

  1. unless条件语句

 

unless

 

if not

 

  1. case分支条件语句

 

case

when

when

else

end

 

12.  循环语句

单行while

(语句1;语句2;语句…)while条件

多行while

while  条件 

语句,语句 

end

until直到

until 跳出循环条件  语句

until 条件=while not (条件)

for…in循环

for  变量  in  对象

   语句1; 语句2 ;  语句…

end

 

break,next&redo&retry

在循环体内,如果遇到:

break

跳出当层循环;

next

忽略本次循环的剩余部分,开始下一次的循环;

redo

重新开始循环,还是从这一次开始;

retry

重头开始这个循环体。

 

times , upto , downto , each ,step

语句

运行结果

3.times { print  "Hi!" }

#Hi!Hi!Hi! 

1.upto(9) {|i| print  i  if  i<7 }

#123456   

9.downto(1){|i| print  i  if  i<7 }

#654321

(1..9).each {|i| print  i  if  i<7}

#123456   

0.step(11,3) {|i| print  i  }

#0369     

 

C:\Documents and Settings\Administrator>irb

irb(main):001:0> 1.upto(9){|i| print i if i<7}

123456=> 1

irb(main):002:0> 9.downto(1){|i|print i if i<7}

654321=> 9

irb(main):003:0> (1..9).each {|i| print i if i<7}

123456=> 1..9

irb(main):004:0> 0.step(11,3) {|i| print i}

0369=> 0

 

13.  异常

Java

try…catch…finally…throw

Ruby

begin/end…rescue…ensure…raise

retry可以用在rescue中。可以只用rescue或ensure,两者都使用时,rescue必须在ensure前。

14.  线程 

当前1/4页 1

网友评论

分类排行榜联系我们

好文推荐联系我们

爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

当前最新内容联系我们

爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

在线手册

网站地图导航

前端 HTML/Xhtml HTML5 CSS XML/XSLT Dreamweaver教程 Frontpage教程 心得技巧 编程 JavaScript ASP.NET PHP编程 正则表达式 AJAX相关 ASP编程 JSP编程 Flex 脚本加解密 web2.0 XML/RSS 网页编辑器 相关技巧 安全相关 网页播放器 Dart 其它综合 脚本 VBS DOS/BAT HTA HTC Python perl 游戏相关 vba 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 脚本下载 广告代码 js框架 批处理 网页相关 源码下载 数据库 MsSql Mysql mariadb oracle DB2 mssql2008 mssql2005 SQLite PostgreSQL MongoDB Redis Access 数据库文摘 数据库其它 CMS dedecms ecshop z-blog UcHome UCenter 风讯CMS 科汛cms discuz 新云cms phpwind 动易cms phpcms 帝国cms WordPress drupal 其它cms 设计 photoshop教程 摄影教程 Fireworks教程 CorelDraw教程 Illustrator教程 Painter教程 Freehand教程 Indesign 设计素材 平面其它 微信相关 微信公众号 小程序 操作系统 bios 系统安装 系统进程 Windows系列 LINUX RedHat/Centos Ubuntu/Debian Fedora Solaris 麒麟系统 红旗Linux Unix/BSD 苹果MAC 注册表 其它系统 网站运营 建站经验 微信营销 网站优化 网站策划 网络赚钱 网络创业 站长故事 alexa域名 其它相关 网络安全 黑客教程 安全设置 杀毒防毒 病毒查杀 脚本攻防 黑客入侵 工具使用 业界动态 Exploit 漏洞分析 加密解密 手机黑客 安全其它 在线手册 网页制作 脚本编程 数据库相关 软件编程 系统相关 其它相关 源码下载

友情链接申请加入

51CTO 上海魔艺客 猫鼬设计开发 Erlo网站开发 猫鼬设计工作室 新发现全球资讯 信息安全与IT资讯
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

283882409