當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby Lazy.flat_map用法及代碼示例

本文簡要介紹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-lang.org大神的英文原創作品 Lazy.flat_map。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。