日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Ruby奇特變量特殊性質(zhì)講解

Ruby語言作為一種新型的編程語言,具有很多和其他編程語言不同的特有的性質(zhì)。在這里我們就為大家介紹一些Ruby奇特變量的相關(guān)概念。#t#

多端合一成都響應(yīng)式網(wǎng)站建設(shè)公司:PC+平板+手機(jī),同一后臺(tái)修改數(shù)據(jù)多端同步更新提交您的需求,獲取網(wǎng)站建設(shè)與營銷策劃方案報(bào)價(jià),我們會(huì)在1小時(shí)內(nèi)與您聯(lián)系!

以前ruby從perl中借鑒了很多東西,Ruby奇特變量其中之一就是全局的魔法變量,在這些變量中,估計(jì)沒有沒有哪個(gè)有$_更奇特。比如,方法gets有這個(gè)一個(gè)效果:

在返回剛讀到的行數(shù)據(jù)的同時(shí),也把這行的數(shù)據(jù)存入$_.如果你調(diào)用print方法而沒有帶參數(shù),那么它將會(huì)打印出$_中的內(nèi)容。如果你在寫if或者while語句時(shí),僅將一個(gè)正則表達(dá)式作為條件,那么這個(gè)正則表達(dá)式會(huì)自動(dòng)去匹配$_.這樣的話,我們可以寫出下面這個(gè)短小精悍的程序來實(shí)現(xiàn)在所有的行中找出那些包含郵箱地址的行。

 
 
 
  1. while gets  
  2. if /[a-zA-Z0-9\.\-_]
    @[a-zA-Z0-9\.\-_]/  
  3. print  
  4. end  
  5. end 

但是,對(duì)于Ruby來說,這樣還不夠簡(jiǎn)潔,我們可以這樣

 
 
 
  1. ARGF.each {|line| print line if 
    line =~ /[a-zA-Z0-9\.\-_]@[a-zA-Z0-9\.\-_]/ } 

呵呵,怎么樣,吃驚了吧,一條語句就搞定了,Ruby奇特變量就是高效!

另外還有一個(gè)全局變量,$. 里面的內(nèi)容是文件的總行數(shù)

還有其他的全局變量$&,&`,&' 這幾個(gè)全局變量分別用于正則表達(dá)式中。

當(dāng)你用match或者=~去匹配一個(gè)字符串和一個(gè)正則表達(dá)式時(shí),結(jié)果是:$&存放字符串中匹配正則表達(dá)式的部分,$`存放字符串中$&部分的前一個(gè)字符串,$'存放字符串中$&部分的后一個(gè)字符串。

比如

 
 
 
  1. str="good day! woodfish1988@
    163.com It's a email" 
  2. reg=/[a-zA-Z0-9\-\._]+@
    [a-zA-Z0-9\-\._]+/  
  3. reg=~str  
  4. puts $`,$&,$' 

 

結(jié)果是

good day!
woodfish1988@163.com
It's a email

同時(shí),在匹配后全局標(biāo)量$1..$9里面存放的匹配于正則表達(dá)式中的各個(gè)小內(nèi)容(也就是由括號(hào)括起來的內(nèi)容,具體請(qǐng)看正則表達(dá)式教程)

例如:

 

 
 
 
  1. code="www.google.com'>Google" 
  2. reg=/(.+)<\/a>/  
  3. reg=~code  
  4. puts $1,$2 

結(jié)果是

http://www.google.com
Google

以上就是對(duì)Ruby奇特變量的具體介紹。


文章標(biāo)題:Ruby奇特變量特殊性質(zhì)講解
網(wǎng)頁鏈接:http://m.5511xx.com/article/dpjspsh.html