91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ruby 2.5新特征有哪些

發布時間:2021-10-13 09:41:44 來源:億速云 閱讀:145 作者:iii 欄目:編程語言

這篇文章主要講解了“Ruby 2.5新特征有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Ruby 2.5新特征有哪些”吧!

Rescue do/end塊

如果您需要捕獲一個塊中的異常, 唯一的方法是將其放在begin/end塊中。 現在,您可以捕獲所有do/end塊內的異常。

(1..5).each do |n| do_something(n) rescue SomeError => e puts e next end

已刪除lookup

在以前的版本中, 如果Ruby在當前范圍內找不到常量, 它會回退到頂級常量, 并發出警告。 在2.5中已更改, 現在這將導致異常。

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將以相反的順序顯示回溯。 您還將以粗體和下劃線看到錯誤消息。 這是一項實驗性函數, 并且打印到日志時順序不會更改。

在進行Rails項目時, 通常需要向后滾動很長一段距離 在回溯中找到那條線 該行顯示發生異常的行。 通過反轉回溯, 您在導致異常的行上獲得上下文 無需向后滾動。

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社區有很多人 對Elixir感興趣的人 因此這可能最終成為一個流行的函數。 

字符串方法

String#-@:對未凍結的字符串進行重復數據刪除。

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}

Goodbye, ubygems.rb!

這項更改將對您使用Ruby的方式產生零影響, 但是我很好奇為什么我們在stdlib中有一個 ubygems.rb 文件, 所以我想提一下,因為它已被刪除。

Ruby有一個-r 標志,可讓您需要一個庫, 例如 ruby -rmath  require 'math'。 rubygems文件的名稱為 ubygems.rb 這樣該標志可以用作 -rubygems ,而不是-rrubygems 。 從Ruby 1.9開始就不需要此文件, 并且現在已從stdlib中刪除。

感謝各位的閱讀,以上就是“Ruby 2.5新特征有哪些”的內容了,經過本文的學習后,相信大家對Ruby 2.5新特征有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林西县| 鹤壁市| 嘉祥县| 商南县| 阿拉善左旗| 游戏| 潮安县| 社旗县| 平凉市| 益阳市| 迁安市| 永康市| 郧西县| 石渠县| 且末县| 大城县| 鹤庆县| 耿马| 花莲县| 都安| 博湖县| 革吉县| 夏河县| 清镇市| 遵化市| 阿拉尔市| 道真| 岳阳县| 灌南县| 藁城市| 洞口县| 晋中市| 富宁县| 黄梅县| 宁夏| 阿合奇县| 息烽县| 清水河县| 临澧县| 中卫市| 平度市|