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

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
Ruby奇特變量特殊性質講解

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

多端合一成都響應式網站建設公司:PC+平板+手機,同一后臺修改數據多端同步更新提交您的需求,獲取網站建設與營銷策劃方案報價,我們會在1小時內與您聯系!

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

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

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

但是,對于Ruby來說,這樣還不夠簡潔,我們可以這樣

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

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

另外還有一個全局變量,$. 里面的內容是文件的總行數

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

當你用match或者=~去匹配一個字符串和一個正則表達式時,結果是:$&存放字符串中匹配正則表達式的部分,$`存放字符串中$&部分的前一個字符串,$'存放字符串中$&部分的后一個字符串。

比如

 
 
 
  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 $`,$&,$' 

 

結果是

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

同時,在匹配后全局標量$1..$9里面存放的匹配于正則表達式中的各個小內容(也就是由括號括起來的內容,具體請看正則表達式教程)

例如:

 

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

結果是

http://www.google.com
Google

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


當前文章:Ruby奇特變量特殊性質講解
網頁路徑:http://www.5511xx.com/article/dpjspsh.html