在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
[就算没有含金量,也请尊重原创, 转载自我的独立博客http://brucejia.net]
Blocks and Iterators (代码块和迭代器) 代码块和迭代器是Ruby语言中比较有特点的东西。先看代码块吧,如下面代码所示,代码块通常是由大括号({和}) 或者do/end包起来的一段代码。 # this is a block
###
# and so is this
#
5: end ###
建议:单行的block用大括号;多行的block用do/end
blocks可以用来实现回调函数和迭代器。 1: def call_block
yield
yield
6: end
7:
}
注意代码中的yield关键字。上边的代码产生结果如下: Start of method yield会调用跟方法(method)相关联的block,可以调用一次或多次。 当然block也可以带有自己的参数 1: call_block {|str, num| ... }
调用的时候将参数传入给yield就好了。 - 这个时候yield看起来像个函数了。 1: def call_block
, 99)
3: end
动手试试看这两行代码会输出什么。 1: animals = %w( ant bee cat dog elk ) # create an array
2: animals.each {|animal| puts animal } # iterate over the contents
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论