代码之家  ›  专栏  ›  技术社区  ›  randombits

这个Ruby语法是什么?

  •  8
  • randombits  · 技术社区  · 15 年前

    我最近遇到这样的代码:

     next {
              'foo'         => bar,
              'foobar'      => anotherbar,
          }
    

    1 回复  |  直到 15 年前
        1
  •  14
  •   cris.h    15 年前

    next类似于c系列语言中的continue关键字,只是在ruby中它使迭代器移动到下一个迭代。因为块总是有某种返回值,所以可以选择将一个作为参数传递给下一个。

    next通常用于遍历文件列表和根据文件名执行操作(或不执行操作)等情况。

      sizes = [0,1,2,3,4].map do |n|
        next("big") if n > 2
        puts "Small number detected!"
        "small"
      end
    
      p sizes
    
    Output:
    
      Small number detected!
      Small number detected!
      Small number detected!
      ["small", "small", "small", "big", "big"]
    

    http://ruby-doc.org/docs/keywords/1.9/