這篇文章主要講解了“Ruby 2.5新特征有哪些”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Ruby 2.5新特征有哪些”吧!
西市網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
如果您需要捕獲一個塊中的異常, 唯一的方法是將其放在begin/end塊中。 現(xiàn)在,您可以捕獲所有do/end塊內(nèi)的異常。
(1..5).each do |n| do_something(n) rescue SomeError => e puts e next end
在以前的版本中, 如果Ruby在當前范圍內(nèi)找不到常量, 它會回退到頂級常量, 并發(fā)出警告。 在2.5中已更改, 現(xiàn)在這將導(dǎo)致異常。
class Foo; end class Bar; end # Ruby 2.4 Foo::Bar # warning: toplevel constant Bar referenced by Foo::Bar #=> Bar # Ruby 2.5 Foo::Bar # NameError
當打印到控制臺時, Ruby將以相反的順序顯示回溯。 您還將以粗體和下劃線看到錯誤消息。 這是一項實驗性函數(shù), 并且打印到日志時順序不會更改。
在進行Rails項目時, 通常需要向后滾動很長一段距離 在回溯中找到那條線 該行顯示發(fā)生異常的行。 通過反轉(zhuǎn)回溯, 您在導(dǎo)致異常的行上獲得上下文 無需向后滾動。
Kernel#yield_self
該方法將對象傳遞給塊 并返回該塊返回的值。
isbn = "0-306-40615-2" isbn.gsub('-', '') .yield_self { |isbn| URI("#{API_URL}?q=isbn:#{isbn}") } .yield_self { |uri| Net:HTTP.get(uri) } .yield_self { |json_response| JSON.parse(json_response) } .yield_self { |response| response.dig('items', 'volumeInfo') }
Ruby社區(qū)有很多人 對Elixir感興趣的人 因此這可能最終成為一個流行的函數(shù)。
String#-@
:對未凍結(jié)的字符串進行重復(fù)數(shù)據(jù)刪除。
s = - 'foo' #=> 'foo' s.frozen? #=> true
delete_prefix
和 delete_suffix
(以及bang的!版本)
'Mr. Smith'.delete_prefix('Mr. ') #=> 'Smith' 'Wellington St.'.delete_suffix(' St.') #=> 'Wellington'
grapheme_clusters
s = "a\u0300" #=> "a?" s.grapheme_clusters #=> ["a?"] s.codepoints #=> [97, 768]
添加了#append
和#prepend
方法, 分別是#push
和#unshift
的別名。 這些別名已通過ActiveSupport在Rails中引入, 但是很高興看到它們被引入Ruby。
list = ['b', 'c'] #=> ['b', 'c'] list.prepend('a') #=> ['a', 'b', 'c'] list.append('d') #=> ['a', 'b', 'c', 'd'] list #=> ['a', 'b', 'c', 'd']
添加了#slice
和#transform_keys
, 最初也來自ActiveSupport。
h = { a: 1, b: 2, c: 3, d: 4 } h.slice(:a, :b) #=> { a: 1, b: 2 } h.transform_keys(&:to_s) #=> {"a"=>1, "b"=>2, "c"=>3, "d"=>4}
ubygems.rb
!這項更改將對您使用Ruby的方式產(chǎn)生零影響, 但是我很好奇為什么我們在stdlib中有一個 ubygems.rb
文件, 所以我想提一下,因為它已被刪除。
Ruby有一個-r
標志,可讓您需要一個庫, 例如 ruby -rmath
到 require 'math'
。 rubygems文件的名稱為 ubygems.rb
這樣該標志可以用作 -rubygems
,而不是-rrubygems
。 從Ruby 1.9開始就不需要此文件, 并且現(xiàn)在已從stdlib中刪除。
感謝各位的閱讀,以上就是“Ruby 2.5新特征有哪些”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Ruby 2.5新特征有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
網(wǎng)站標題:Ruby2.5新特征有哪些
路徑分享:http://bm7419.com/article16/jddcgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)頁設(shè)計公司、用戶體驗、網(wǎng)站導(dǎo)航、App設(shè)計、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)