• 主頁(yè) > 知識(shí)庫(kù) > Terry七月Ruby讀書筆記(比較詳細(xì))第1/4頁(yè)

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

    熱門標(biāo)簽:企業(yè)做大做強(qiáng) 百度AI接口 Win7旗艦版 硅谷的囚徒呼叫中心 語(yǔ)音系統(tǒng) 電話運(yùn)營(yíng)中心 呼叫中心市場(chǎng)需求 客戶服務(wù)

    Page 3 概述

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

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

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

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

     

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

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

     

    語(yǔ)言

    ¨         語(yǔ)法

    關(guān)鍵字

    ¨         語(yǔ)義

    ¨         語(yǔ)用

     

    松本行弘(Matz) 1993

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

     

     

    Ruby 吸取了 perl 的正則表達(dá)式, python 的簡(jiǎn)單性可讀性,smalltalk 的純面向?qū)ο笳Z(yǔ)法和單繼承,LISP 的無窮嵌套的語(yǔ)法,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 語(yǔ)法

    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);表示語(yǔ)句結(jié)束。

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

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

    3.      分隔符

    名稱

    符號(hào)

    用途

    分號(hào)

    ;

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

    圓括號(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

    條件語(yǔ)句:

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

    別名:

    alias

    循環(huán)語(yǔ)句:

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

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

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

    5.      運(yùn)算符

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

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

    大小寫敏感;

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

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

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

    類名、模塊名和常量

    用大寫字母開頭。

    全局變量

    以美元符為前綴$;

    實(shí)例變量

    以@開頭;

    類變量

    用@@開頭;

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

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

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

    7.      類庫(kù)

    可以直接使用:

    i) 關(guān)鍵字;

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

    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.  判斷語(yǔ)句

    1. 單行if語(yǔ)句

    if    then    end

    (    ) if

    1. 多行if語(yǔ)句

    if    elsif    else    end

    1. unless條件語(yǔ)句

     

    unless

     

    if not

     

    1. case分支條件語(yǔ)句

     

    case

    when

    when

    else

    end

     

    12.  循環(huán)語(yǔ)句

    單行while

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

    多行while

    while  條件 

    語(yǔ)句,語(yǔ)句 

    end

    until直到

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

    until 條件=while not (條件)

    for…in循環(huán)

    for  變量  in  對(duì)象

       語(yǔ)句1; 語(yǔ)句2 ;  語(yǔ)句…

    end

     

    break,nextredoretry

    在循環(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ǔ)句

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

    3.times { print  "Hi!" }

    #Hi!Hi!Hi! 

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

    #123456   

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

    #654321

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

    #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 i7}

    123456=> 1

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

    654321=> 9

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

    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中??梢灾挥胷escue或ensure,兩者都使用時(shí),rescue必須在ensure前。

    14.  線程 

    1234下一頁(yè)閱讀全文
    您可能感興趣的文章:
    • ruby 學(xué)習(xí)筆記(2) 類的基本使用
    • Ruby rails 頁(yè)面跳轉(zhuǎn)(render和redirect_to)
    • 在Ruby on Rails中使用Rails Active Resource的教程

    標(biāo)簽:山西 濟(jì)南 崇左 喀什 海南 長(zhǎng)沙 山西 安康

    巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Terry七月Ruby讀書筆記(比較詳細(xì))第1/4頁(yè)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266