亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Ruby > 正文

Ruby 中$開頭的變量介紹

2020-02-24 15:37:57
字體:
來源:轉載
供稿:網友

Ruby中充滿了隱藏變量,我們可以從這些預定義的全局變量中獲得一些有趣的信息,今天武林技術頻道小編和大家分享Ruby 中$開頭的變量介紹,希望對你學習有幫助!

全局進程變量

$$ 表示當前運行的 ruby 進程。

復制代碼 代碼如下:
>> $$
=> 17170


我們可以從當前進程殺死它自己

?

復制代碼 代碼如下:

?


>> `kill -9 #{$$}`
[1]??? 17170 killed???? irb


$? 表示最近一個子進程的狀態

?

?

?

異常和錯誤

$1 表示引起異常的信息。比如在這里 raise "there's no peanut butter",它的值就是 there's no peanut butter。

復制代碼 代碼如下:

>> begin raise "this town ain't big enough for the both of us" rescue puts $! end
this town ain't big enough for the both of us
=> nil


$@ 可以給出完整的引起錯誤的棧調用信息,它是一個數組。

?

?


>> begin raise 'no soup in kitchen' rescue $@.each { |trace| puts trace } end
(irb):13:in `irb_binding'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/workspace.rb:80:in `eval'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/workspace.rb:80:in `evaluate'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/context.rb:254:in `evaluate'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:159:in `block (2 levels) in eval_input'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:273:in `signal_status'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:156:in `block in eval_input'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:243:in `block (2 levels) in each_top_level_statement'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `loop'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `block in each_top_level_statement'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `catch'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `each_top_level_statement'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:155:in `eval_input'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:70:in `block in start'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in `catch'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in `start'
/home/meck/.rvm/rubies/ruby-1.9.3-p194/bin/>>'
=> ["(>>'"]

?


字符串和分隔符

$; 表示 String.split 里的分隔符,默認是空格。


$/ 表述讀取輸入的行分隔符。它被用在 Kernel.gets 里。它通常表示新行,但可以被修改。這個很難展示,因為 irb 依賴 /n 作為讀取分隔符,如果把 $/ 設置成 nil,gets 就會讀取整個文件。

?

$/ 正好相反,它是作為輸出的行分隔符。

?

文件

假設有個叫letter.text的文件:


$. 表示文件當前被讀取的行號。

?

復制代碼 代碼如下:

?


>> open('letter.txt').each { |line| puts "#{$.}: #{line}" }
1: Dear Caroline,
2: I think we need some honey for tea.
3: I also think that I may have misplaced my red tie, have you seen it?
4:
5: -Nick
=> #<File:letter.txt>


$_ 表示最后讀取的行。

?

?

?

匹配和正則表達式

$~ 表示最近一次正則匹配到的信息,如果有的話它就返回 MatchData 的示例,否則就是 nil。

復制代碼 代碼如下:

>> "the robots are coming, the robots are coming, the robots are coming" =~ /ro/
=> 4
>> $~
=> #<MatchData "ro">
>> $~.to_s
=> "ro"
>> "the robots are coming, the robots are coming, the robots are coming" =~ /cats/
=> nil
>> $~


$& 跟 $~ 非常相似,它返回最近一次匹配到的字符串。

?

復制代碼 代碼如下:

?


>> "the robots are coming, the robots are coming, the robots are coming" =~ /ro/
=> 4
>> $&


$' 表示匹配不分后面的字符串。

?

?

?

其他

$> 表示ruby 默認的輸出對象,用在 Kernel.print 里。

復制代碼 代碼如下:

>> $> =? $> = $stderr
=> #<IO:<STDERR>>
>> puts 'no no no'
no no no
=> nil
>> $> = $stdin
/home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:168:in `write': not opened for writing (IOError)
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:168:in `print'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:168:in `block (2 levels) in eval_input'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:273:in `signal_status'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:156:in `block in eval_input'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:243:in `block (2 levels) in each_top_level_statement'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `loop'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `block in each_top_level_statement'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `catch'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `each_top_level_statement'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:155:in `eval_input'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:70:in `block in start'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in `catch'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in `start'
??????? from /home/meck/.rvm/rubies/ruby-1.9.3-p194/bin/irb:12:in `<main>'


$* 可能是最常用全局變量,它表示包含傳給 ruby 文件的所有變量的數組,假設有個叫 argument_echoer.rb 文件:

?

復制代碼 代碼如下:

?


$*.each { |arg| puts arg }


運行它:

?

?

以上就是關于Ruby 中$開頭的變量介紹,如果你還想了解更多技術方面的知識,你可以來關注武林技術頻道網,武林技術頻道小編會為你服務。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲jizzjizz日本少妇| 亚洲aa中文字幕| 成人精品视频久久久久| 日韩美女主播视频| 欧美激情欧美狂野欧美精品| 2019中文字幕全在线观看| 欧美日韩免费网站| 精品视频在线播放色网色视频| 97免费视频在线| 精品久久久久久中文字幕| 久久久久久国产精品久久| 亚洲欧美www| 久久久噜噜噜久噜久久| 国语自产精品视频在线看一大j8| 亚洲精品一区二区网址| 久久av在线看| 国产精品久久久久秋霞鲁丝| 亚洲成人aaa| 久久亚洲综合国产精品99麻豆精品福利| 国产一区二区三区直播精品电影| 国产日韩欧美91| 欧美大人香蕉在线| 尤物精品国产第一福利三区| 欧美疯狂性受xxxxx另类| 亚洲精品久久在线| 欧美日韩国产精品| 欧美激情综合色| 97免费中文视频在线观看| 国产成+人+综合+亚洲欧美丁香花| 国内精品久久久| 久久天天躁夜夜躁狠狠躁2022| 亚洲性猛交xxxxwww| 亚洲国产婷婷香蕉久久久久久| 国产精品久久久久久网站| 久久久亚洲成人| 国产精品嫩草视频| 欧美日韩国产页| 91精品国产高清久久久久久久久| 色婷婷亚洲mv天堂mv在影片| 69**夜色精品国产69乱| 亚洲精品天天看| 欧美视频第一页| 中文字幕在线视频日韩| 欧美理论在线观看| 韩国三级日本三级少妇99| 日韩在线视频线视频免费网站| 亚洲久久久久久久久久久| 国产亚洲欧美aaaa| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲国产精品成人精品| 国产精品自产拍高潮在线观看| 久久激情五月丁香伊人| 日韩电影免费在线观看中文字幕| 美女999久久久精品视频| 日韩av成人在线| 国产精品久久久久久久久久尿| 久久久人成影片一区二区三区| 亚洲综合最新在线| 日韩麻豆第一页| 精品视频在线导航| 伦伦影院午夜日韩欧美限制| 欧美大成色www永久网站婷| 亚洲曰本av电影| 最近2019中文免费高清视频观看www99| 国产日韩一区在线| 一本一本久久a久久精品综合小说| 91伊人影院在线播放| 日韩欧美aⅴ综合网站发布| 久久久久久国产精品久久| 久久精品视频导航| 色黄久久久久久| 亚洲人av在线影院| 亚洲精品国产综合久久| 超碰精品一区二区三区乱码| 粉嫩av一区二区三区免费野| 91精品成人久久| 麻豆精品精华液| 97精品免费视频| 欧美激情精品久久久久久久变态| 最近2019中文字幕大全第二页| 国产精品久久久久久av福利| 国产欧美精品日韩| 中文字幕av日韩| 久99九色视频在线观看| 国产91亚洲精品| 欧美电影《睫毛膏》| 久久人人爽人人爽爽久久| 欧美激情网友自拍| 亚洲精品女av网站| 亚洲精品一区二三区不卡| 国产精品丝袜久久久久久不卡| 最近日韩中文字幕中文| 亚洲欧美另类国产| 日韩成人在线播放| 成人免费看吃奶视频网站| 亚洲精品欧美极品| 日韩免费在线电影| 日韩专区在线播放| 深夜福利一区二区| 5566日本婷婷色中文字幕97| 亚洲成成品网站| 欧美另类极品videosbest最新版本| 成人欧美一区二区三区黑人| 亚洲自拍高清视频网站| 九九久久久久99精品| 在线电影欧美日韩一区二区私密| 国产精品欧美日韩一区二区| 欧美精品videosex极品1| 国外成人在线视频| 日韩av大片在线| 日韩风俗一区 二区| 中文字幕日韩电影| 欧美一级大片在线免费观看| 精品国产一区二区在线| 久久免费国产精品1| 亚洲精品之草原avav久久| 久久韩国免费视频| 亚洲视频在线观看免费| 亚洲热线99精品视频| 国产偷亚洲偷欧美偷精品| 国产亚洲精品高潮| 国产一区深夜福利| 日韩在线观看电影| 亚洲欧美激情一区| 精品色蜜蜜精品视频在线观看| 国产一区二区三区在线播放免费观看| 这里只有精品在线观看| 欧美精品免费在线| 国产乱肥老妇国产一区二| 在线视频欧美日韩精品| 国内精品国产三级国产在线专| 久久久之久亚州精品露出| 国产成人亚洲综合青青| 国产在线视频一区| 日韩亚洲精品视频| 久热精品视频在线观看一区| 2020国产精品视频| 精品国产欧美成人夜夜嗨| 中文字幕亚洲自拍| 日本免费久久高清视频| 欧美激情久久久久久| 中文字幕亚洲自拍| 91禁国产网站| 亚洲人线精品午夜| 国产精品女主播视频| 中文字幕亚洲无线码在线一区| 精品国产乱码久久久久久天美| 中文字幕少妇一区二区三区| 久久久天堂国产精品女人| 国产精品视频专区| 国产在线观看精品| 亚洲欧美国产日韩中文字幕| 日韩欧美中文字幕在线播放| 国产精品高清在线| 日韩在线视频播放| 精品亚洲国产成av人片传媒| 国产精品福利片| 午夜欧美不卡精品aaaaa| 国产97在线|日韩| 日韩中文字幕免费看| 日韩精品中文字幕在线| 国产亚洲欧洲高清| 国产成人jvid在线播放| 国产视频精品自拍|