块之中的块

我们已经看到了如何使用块来迭代数组。在下一个示例中,我使用一个块来迭代一个字符串数组,依次将每个字符串分配给块变量 s。然后将第二个块传递给 caps 方法,以便将字符串的首字母大写:

  1. ["hello","good day","how do you do"].each{
  2. |s|
  3. caps( s ){ |x| x.capitalize!
  4. puts( x )
  5. }
  6. }

输出结果:

  1. Hello
  2. Good day
  3. How do you do