国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Ruby 中$開頭的全局變量、內部變量、隱藏變量介紹

2019-10-26 19:22:35
字體:
來源:轉載
供稿:網友

Ruby 中充滿了一系列的隱藏變量,我們可以從這些預定義的全局變量中獲取一些有意思的信息。

全局進程變量

$$ 表示當前運行的 ruby 進程。
代碼如下:>> $$
=> 17170
我們可以從當前進程殺死它自己
代碼如下:
>> `kill -9 #{$$}`
[1]    17170 killed     irb
$? 表示最近一個子進程的狀態
代碼如下:
>> `echo hello`
=> "hello/n"
>> $?
=> #<Process::Status: pid 18048 exit 0>
>> $?.success?
=> true

異常和錯誤

$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 里的分隔符,默認是空格。
代碼如下:
>> "One Spaceship, Two Tiny Tanks, Three Misplaced Socks".split
=> ["One Spaceship", " Two Tiny Tanks", " Three Misplaced Socks"]
>> $; = ","
=> ","
>> "One Spaceship, Two Tiny Tanks, Three Misplaced Socks".split
=> ["One Spaceship", " Two Tiny Tanks", " Three Misplaced Socks"]

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆城县| 收藏| 砚山县| 西乌珠穆沁旗| 东海县| 阳新县| 长治市| 客服| 皋兰县| 文山县| 报价| 安福县| 咸丰县| 孟津县| 大足县| 白银市| 克拉玛依市| 黔南| 巴彦县| 红河县| 卓资县| 七台河市| 邢台市| 滨海县| 资源县| 阿荣旗| 射洪县| 运城市| 锡林浩特市| 绥棱县| 临西县| 乐昌市| 东明县| 康平县| 株洲市| 固阳县| 文登市| 新密市| 曲阳县| 汶上县| 大埔区|