本文简要介绍ruby语言中 Enumerator::Lazy.flat_map
的用法。
用法
flat_map { |obj| block } → a_lazy_enumerator
返回一个新的惰性枚举器,其中包含为惰性枚举器中的每个元素运行一次block
的串联结果。
["foo", "bar"].lazy.flat_map {|i| i.each_char.lazy}.force
#=> ["f", "o", "o", "b", "a", "r"]
如果以下任一条件为真,则由 block
返回的值 x
被分解:
-
x
同时响应 each 和 force,这意味着x
是一个惰性枚举器。 -
x
是一个数组或响应 to_ary。
否则,x
将按原样包含在返回值中。
[{a:1}, {b:2}].lazy.flat_map {|i| i}.force
#=> [{:a=>1}, {:b=>2}]
相关用法
- Ruby Lazy.filter_map用法及代码示例
- Ruby Lazy.collect用法及代码示例
- Ruby Lazy.collect_concat用法及代码示例
- Ruby Lazy._enumerable_map用法及代码示例
- Ruby Lazy.enum_for用法及代码示例
- Ruby Lazy._enumerable_flat_map用法及代码示例
- Ruby Lazy.new用法及代码示例
- Ruby Lazy._enumerable_filter_map用法及代码示例
- Ruby Lazy._enumerable_collect用法及代码示例
- Ruby Lazy.to_enum用法及代码示例
- Ruby Lazy._enumerable_collect_concat用法及代码示例
- Ruby Lazy.map用法及代码示例
- Ruby Lazy类用法及代码示例
- Ruby List.append用法及代码示例
- Ruby LoadError类用法及代码示例
- Ruby List.prepend用法及代码示例
- Ruby LDAP.build用法及代码示例
- Ruby Logger类用法及代码示例
- Ruby Location.lineno用法及代码示例
- Ruby Location.label用法及代码示例
- Ruby Location.path用法及代码示例
- Ruby Logger.info用法及代码示例
- Ruby Location类用法及代码示例
- Ruby LDAP.new用法及代码示例
- Ruby LocalJumpError类用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Lazy.flat_map。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。