最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Terry七月Ruby讀書筆記(比較詳細(xì))第1/4頁

 更新時(shí)間:2008年11月18日 00:18:08   作者:  
今年7月讀《Ruby語言入門教程v1.0》時(shí)的讀書筆記,靜靜地面對(duì)電腦,嘗試一種新的語言,是一種淡然的快樂。

Page 3 概述

¨         解釋執(zhí)行:PythonRuby,交互性很好;

¨         編譯執(zhí)行:Pascal, C,速度較快。

n         本地執(zhí)行,如C,C++;

n         虛擬機(jī)執(zhí)行,如Java, C#。

 

¨         動(dòng)態(tài)語言,如JavaScript,Ruby;

¨         靜態(tài)語言,如C++Java。

 

語言

¨         語法

關(guān)鍵字

¨         語義

¨         語用

 

松本行弘(Matz) 1993

Ruby [`ru:bi](紅寶石)

 

 

Ruby 吸取了 perl 的正則表達(dá)式, python 的簡單性可讀性,smalltalk 的純面向?qū)ο笳Z法和單繼承,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               運(yùn)行ruby;

-e                  執(zhí)行后面的ruby腳本程序;

print               打印顯示;

hello,world     要輸出的內(nèi)容。

 

第二種方式:irb交互執(zhí)行

C:\Documents and Settings\Administrator>irb

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

hello world=> nil

irb(main):002:0> exit

 

exit: 退出irb交互式環(huán)境

 

第三種方式:創(chuàng)建ruby腳本

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

print "hello world"

print "3*7=",3*7

^Z

已復(fù)制         1 個(gè)文件。

 

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.菜單欄,工具->運(yùn)行或者F5;

Page 18 語法

1.      注釋

單行注釋       #                多行注釋     =begin            =end

Ruby的內(nèi)嵌文檔(Rdoc)注釋,用ri命令從源文件中產(chǎn)生文檔。

Rdoc內(nèi)嵌在ruby代碼之中的,可以轉(zhuǎn)換為html文檔。

ri命令,用來查看函數(shù)說明、類說明。函數(shù)說明、類說明應(yīng)該放置在=begin和=end之中。注意:“=begin”一定要寫在行首,也就是說,這一行前六個(gè)字符是“=begin”,之前不允許有空格。

2.      分行

用分號(hào);表示語句結(jié)束。

一行多個(gè)語句,用分號(hào)隔開,最后一個(gè)語句,分號(hào)可以省略,換行符表示一行結(jié)束。

語句太長,可以在行末用符號(hào) \ ,表示續(xù)行。

3.      分隔符

名稱

符號(hào)

用途

分號(hào)

;

用來分隔一行中的多個(gè)語句

圓括號(hào)

(  )

提高優(yōu)先級(jí);定義方法時(shí)容納參數(shù)列表

空格

 

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

逗號(hào)

,

隔開多個(gè)參數(shù)

點(diǎn)

.

將對(duì)象與它的方法隔開

緊連的兩個(gè)冒號(hào)

::

域作用符,將模塊(類)與它的常量隔開

4.      關(guān)鍵字

Ruby中的關(guān)鍵字如下:

模塊定義:

module

異常處理:

rescue,ensure

類定義:

class

對(duì)象引用:

super,self

方法定義:

def,undef

塊的起始:

begin/end

檢查類型:

defined?

嵌入模塊:

BEGIN,END

邏輯值和空值:

true,false,nil

文件相關(guān):

__FILE__,__LINE__

邏輯判斷:

not,and,or

方法返回:

return

條件語句:

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

別名:

alias

循環(huán)語句:

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

BEGIN模塊相當(dāng)于C語言中的宏,END模塊用來作一些收尾工作。有了

require,include,應(yīng)該取消BEGIN和END的語法定義。

5.      運(yùn)算符

6.      標(biāo)識(shí)名:

常量,變量,方法,類和模塊;

大小寫敏感;

標(biāo)識(shí)名第一個(gè)字符表明這個(gè)名字的用法。

局部變量、方法參數(shù)和方法名稱

以小寫字母開頭或者下劃線開頭;

類名、模塊名和常量

用大寫字母開頭。

全局變量

以美元符為前綴$;

實(shí)例變量

以@開頭;

類變量

用@@開頭;

詞首字母后面可以是字母、數(shù)字和下劃線的任意組合;

@后面不可以直接跟數(shù)字。

Ruby程序代碼用7位ACSII碼來表示,通過語言擴(kuò)展來支持 EUC,SJIS或UTF-8等8位編碼系統(tǒng)。Ruby2.0版本將支持16位的Unicode編碼。

7.      類庫

可以直接使用:

i) 關(guān)鍵字;

ii) require或者include包含的類庫中的類、方法;

iii)從父類中繼承得到的方法。

 

puts

每個(gè)參數(shù)后自動(dòng)換行

print

不自動(dòng)換行,換行用”\n”

printf

按格式輸出,不自動(dòng)換行

gets

從鍵盤或文件中讀入數(shù)據(jù)

 

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的參數(shù)之間用逗號(hào)隔開。

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

",1.5,"hello world"'

number:1.500,string hello world

 

8.      數(shù)據(jù)類型

類型

分類

說明及示例

數(shù)字

整數(shù)型

0        八進(jìn)制,

0x  十六進(jìn)制,0b  二進(jìn)制

浮點(diǎn)型

字符串

單引號(hào)  ‘'

 

雙引號(hào)  “”

 

數(shù)組

從0開始,每個(gè)元素可以不同類型

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

區(qū)間

1..5

1,2,3,4,5

1…5

1,2,3,4

正則表達(dá)式

 

 

9.      賦值運(yùn)算

交換變量a,b的值:

a,b=b,a;

注意括號(hào):

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

逗號(hào),從左往右運(yùn)算,分別賦給a,b,c

x = 0                           #x=0

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

10.  條件運(yùn)算

==

等于

!=

不等于

eql?

比較兩個(gè)對(duì)象的值、類型是否相等

equal?

比較兩個(gè)對(duì)象在內(nèi)存中地址是否相同

小于

大于

<=

小于等于

>=

大于等于

=~

匹配正則表達(dá)式

!~

斷言不匹配正則表達(dá)式

===

右邊的對(duì)象在左邊區(qū)間內(nèi)

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

<=>

比較兩個(gè)對(duì)象大小,大于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.  循環(huán)語句

單行while

(語句1;語句2;語句…)while條件

多行while

while  條件 

語句,語句 

end

until直到

until 跳出循環(huán)條件  語句

until 條件=while not (條件)

for…in循環(huán)

for  變量  in  對(duì)象

   語句1; 語句2 ;  語句…

end

 

break,next&redo&retry

在循環(huán)體內(nèi),如果遇到:

break

跳出當(dāng)層循環(huán);

next

忽略本次循環(huán)的剩余部分,開始下一次的循環(huán);

redo

重新開始循環(huán),還是從這一次開始;

retry

重頭開始這個(gè)循環(huán)體。

 

times , upto , downto , each ,step

語句

運(yùn)行結(jié)果

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,兩者都使用時(shí),rescue必須在ensure前。

14.  線程 

相關(guān)文章

  • Ruby解析處理YAML和json格式數(shù)據(jù)

    Ruby解析處理YAML和json格式數(shù)據(jù)

    這篇文章主要介紹了Ruby對(duì)YAML和json格式的數(shù)據(jù)處理方法,json序列化、json反序列化,json解析等操作,需要的朋友可以參考下
    2022-04-04
  • Ruby簡明教程之循環(huán)語句介紹

    Ruby簡明教程之循環(huán)語句介紹

    這篇文章主要介紹了Ruby簡明教程之循環(huán)語句介紹,非常簡潔的講解,可以作為語法備忘,需要的朋友可以參考下
    2014-06-06
  • ruby中的雙等號(hào)==問題詳解

    ruby中的雙等號(hào)==問題詳解

    Ruby里面有4種比較方法,equal?, eql?, ==, ===,而且在不同的類里面表現(xiàn)的很不一樣。在使用的時(shí)候也特別容易搞糊涂。 本文先給大家講述一下==號(hào)的用法及使用中應(yīng)該注意的地方
    2016-02-02
  • 淺談Ruby on Rails的國際化

    淺談Ruby on Rails的國際化

    這篇文章主要介紹了Ruby on Rails的國際化,提出了日期貨幣等格式相關(guān)需要注意的地方,需要的朋友可以參考下
    2015-08-08
  • rudy 方法 分析

    rudy 方法 分析

    rudy 方法 分析...
    2007-11-11
  • Ruby設(shè)計(jì)模式編程中使用Builder建造者模式的實(shí)例

    Ruby設(shè)計(jì)模式編程中使用Builder建造者模式的實(shí)例

    這篇文章主要介紹了Ruby設(shè)計(jì)模式編程中使用Builder建造者模式的實(shí)例,建造者模式將一個(gè)復(fù)雜對(duì)象的構(gòu)造與它的表示分離,使同樣的構(gòu)建過程可以創(chuàng)建不同的表示,需要的朋友可以參考下
    2016-03-03
  • 初步了解一下什么是ruby

    初步了解一下什么是ruby

    了解下什么是ruby,希望學(xué)習(xí)ruby的朋友了解下
    2008-06-06
  • Ruby實(shí)現(xiàn)發(fā)送郵件的兩個(gè)方法

    Ruby實(shí)現(xiàn)發(fā)送郵件的兩個(gè)方法

    這篇文章主要介紹了Ruby實(shí)現(xiàn)發(fā)送郵件的兩個(gè)方法,本文講解了使用Net::SMTP、使用ruby gem:mail兩種方法實(shí)現(xiàn)郵件發(fā)送,需要的朋友可以參考下
    2015-01-01
  • Ruby實(shí)現(xiàn)的3種快速排序算法

    Ruby實(shí)現(xiàn)的3種快速排序算法

    這篇文章主要介紹了Ruby實(shí)現(xiàn)的3種快速排序算法,本文給出了快速排序的普通版本、快速排序的隨機(jī)化版本、快速排序的利用了Ruby的語法糖的隨機(jī)化版本三個(gè)版本,需要的朋友可以參考下
    2015-05-05
  • Ruby中Hash哈希結(jié)構(gòu)的基本操作方法小結(jié)

    Ruby中Hash哈希結(jié)構(gòu)的基本操作方法小結(jié)

    Hash是一種鍵值對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),Ruby中直接帶有Hash類來對(duì)其提供支持,這里我們整理了Ruby中Hash哈希結(jié)構(gòu)的基本操作方法小結(jié),首先來回顧一下Hash的基本知識(shí):
    2016-06-06

最新評(píng)論

涿鹿县| 崇左市| 沁源县| 台中县| 南和县| 囊谦县| 宿州市| 汤原县| 藁城市| 门头沟区| 孝义市| 泽州县| 涟源市| 普陀区| 阜平县| 武安市| 赫章县| 建阳市| 东城区| 苗栗县| 大悟县| 陇南市| 扶沟县| 禹州市| 高雄县| 会昌县| 汾阳市| 平邑县| 常州市| 宝兴县| 彰化县| 永定县| 天全县| 衡水市| 沂源县| 筠连县| 耿马| 甘孜| 广丰县| 栖霞市| 峡江县|