ruby之旅(12) ruby中的迭代器

來源:互聯網
上載者:User

迭代器是進階語言的特性,非常好用。

比如數組的迭代
 [1,2,3].each{|n| puts n.to_s}
(1..100).each{|n| puts n.to_s}迭代每個元素

字串的迭代
"abdc".each_byte{|chr| printf "%c\n",chr}  迭代每個byte
"a\nb\nc".each_line{|s| puts s}  以分行符號進行分割迭代


retry的使用:
迭代過程中可以使用retry來返回到迭代器的開始,比如

isretry = false
for l in 0..4
  print l
  if l == 2 and isretry == false
    isretry = true
    puts
    retry
  end
end
puts
# output:
# 012
# 01234

最後我們自己定義一個自己的while結構語句 哈哈  使用方法來模仿while

def mywhile(tj)
    return if not tj
    yield
    retry
end
i=0
mywhile(i < 3){puts i.to_s; i += 1}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.