譯 Ruby 2 6 增加無窮範圍

2021-09-24 07:00:16 字數 957 閱讀 4755

本部落格系列翻譯自 bigbinary 的 ruby 2.6 系列, 已得到作者允許。ruby 2.6.0-preview2 現已發布。

在ruby 2.6 之前,如果你想要使用帶上索引(index)的無限迴圈,我們得用 float::infinity 然後用 #upto 方法 或者實現乙個range 例項,或者用 numeric#step 方法。

irb> (1..float::infinity).each do

|n|irb* # logic goes here

irb> end

複製**

或者

irb> 1.step.each do

|n|irb* # logic goes here

irb> end

複製**

ruby 2.6 讓range 中第二個引數變成可選的,讓無限迴圈更具有可讀性(並沒有)。ruby 讓第二個引數可以是nil,所以 (0..) 和 (0..nil) 在ruby 2.6 是等價的了。

irb> (0..).each do

|n|irb* # logic goes here

irb> end

複製**

irb> (0..nil).size

=> infinity

irb> (0..).size

=> infinity

複製**

如果是ruby 2.5, (0..nil) 這樣會丟擲 argumenterror。

irb> (0..nil)

argumenterror (bad value for range)

複製**

這裡是相關的commit 和 討論

部落格位址

筆記 簡譯 XAML揭秘 2

屬性 property 元素 wpf 的一大特色就是支援豐富的組合,下面的例子建立了乙個中間是乙個方塊的按鈕 按鈕的標題已經不僅僅 是文字了 system.windows.controls.button b new system.windows.controls.button system.wind...

Ruby日文手冊翻譯2

程式 1 式子 就是 行,呵呵 2 程式的終止 程式是由式子併排組成的。式子和式子之間使用分號或者換行來區分 譯者注 如果你想把兩行式子 寫在同一行中間就用分號隔開,如果分開在兩行就無需分號 但是如果使用反斜槓 的話,表示下 一行繼續接著上一行。例 print hello world n 一如既往的...

譯 Chipmunk 教程2 基本概念

現在我們已經setup好了我們的工程,並且已經可以我們正式的學習chipmunk之旅了。開始這個之前,我們需要學習一些基本的chipmunk概念,知道他是如何組織的。在開始模擬乙個現實世界的物理現象之前,你需要你新的為乙個規則,並且你需要建立乙個容器,成裝你所有的物件。chipmunk叫做space...