Module: Elixir::Enum
- Defined in:
- lib/elixir/enum.rb
Class Method Summary collapse
- .all?(collection, &block) ⇒ Boolean
- .any?(collection, &block) ⇒ Boolean
- .at(collection, index, default = nil) ⇒ Object
- .chunk(collection, n, step: nil, pad: nil) ⇒ Object
- .chunk_by(collection, &block) ⇒ Object
- .concat(*collections) ⇒ Object
- .count(collection, &block) ⇒ Object
- .drop(collection, count) ⇒ Object
- .drop_while(collection, &block) ⇒ Object
- .empty?(collection) ⇒ Boolean
- .fetch(collection, n) ⇒ Object
- .fetch!(collection, n) ⇒ Object
- .filter(collection, &block) ⇒ Object
- .filter_map(collection, filter, mapper) ⇒ Object
- .find(collection, ifnone = nil, &block) ⇒ Object
- .find_index(collection, &block) ⇒ Object
- .find_value(collection, ifnone = nil, &block) ⇒ Object
- .flat_map(collection, &block) ⇒ Object
- .flat_map_reduce(collection, acc, &block) ⇒ Object
- .group_by(collection, dict = {}, &block) ⇒ Object
- .intersperse(collection, element) ⇒ Object
- .into(collection, list, transform = nil) ⇒ Object
- .join(collection, joiner = '') ⇒ Object
- .map(collection, &block) ⇒ Object
- .map_join(collection, joiner = '', &block) ⇒ Object
- .map_reduce(collection, acc, &block) ⇒ Object
- .max(collection) ⇒ Object
- .max_by(collection, &block) ⇒ Object
- .member?(collection, value) ⇒ Boolean
- .min(collection) ⇒ Object
- .min_by(collection, &block) ⇒ Object
- .partition(collection, &block) ⇒ Object
- .reduce(collection, acc = nil, &block) ⇒ Object
- .reject(collection, &block) ⇒ Object
- .reverse(collection, tail = nil) ⇒ Object
- .scan(collection, acc = 0, &block) ⇒ Object
- .shuffle(collection) ⇒ Object
- .slice(collection, x, count = nil) ⇒ Object
- .sort(collection, &block) ⇒ Object
- .sort_by(collection, mapper, sorter = nil) ⇒ Object
- .split(collection, count) ⇒ Object
- .split_while(collection, &block) ⇒ Object
- .sum(collection) ⇒ Object
- .take(collection, count) ⇒ Object
- .take_every(collection, nth) ⇒ Object
- .take_while(collection, &block) ⇒ Object
- .to_list(collection) ⇒ Object
- .uniq(collection, &block) ⇒ Object
- .with_index(collection) ⇒ Object
- .zip(collection1, collection2) ⇒ Object
Class Method Details
.all?(collection, &block) ⇒ Boolean
5 6 7 |
# File 'lib/elixir/enum.rb', line 5 def all? collection, &block collection.all? &block end |
.any?(collection, &block) ⇒ Boolean
9 10 11 |
# File 'lib/elixir/enum.rb', line 9 def any? collection, &block collection.any? &block end |
.at(collection, index, default = nil) ⇒ Object
13 14 15 |
# File 'lib/elixir/enum.rb', line 13 def at collection, index, default = nil collection.first(index.next)[index] || default end |
.chunk(collection, n, step: nil, pad: nil) ⇒ Object
17 18 |
# File 'lib/elixir/enum.rb', line 17 def chunk collection, n, step: nil, pad: nil end |
.chunk_by(collection, &block) ⇒ Object
20 21 22 |
# File 'lib/elixir/enum.rb', line 20 def chunk_by collection, &block collection.chunk(&block).map(&:last).to_a end |
.concat(*collections) ⇒ Object
24 25 26 |
# File 'lib/elixir/enum.rb', line 24 def concat *collections collections.inject :concat end |
.count(collection, &block) ⇒ Object
28 29 30 |
# File 'lib/elixir/enum.rb', line 28 def count collection, &block collection.count &block end |
.drop(collection, count) ⇒ Object
32 33 34 |
# File 'lib/elixir/enum.rb', line 32 def drop collection, count collection.drop count end |
.drop_while(collection, &block) ⇒ Object
36 37 38 |
# File 'lib/elixir/enum.rb', line 36 def drop_while collection, &block collection.drop_while &block end |
.empty?(collection) ⇒ Boolean
40 41 42 |
# File 'lib/elixir/enum.rb', line 40 def empty? collection collection.empty? end |
.fetch(collection, n) ⇒ Object
44 45 |
# File 'lib/elixir/enum.rb', line 44 def fetch collection, n end |
.fetch!(collection, n) ⇒ Object
47 48 |
# File 'lib/elixir/enum.rb', line 47 def fetch! collection, n end |
.filter(collection, &block) ⇒ Object
50 51 52 |
# File 'lib/elixir/enum.rb', line 50 def filter collection, &block collection.select &block end |
.filter_map(collection, filter, mapper) ⇒ Object
54 55 |
# File 'lib/elixir/enum.rb', line 54 def filter_map collection, filter, mapper end |
.find(collection, ifnone = nil, &block) ⇒ Object
57 58 59 |
# File 'lib/elixir/enum.rb', line 57 def find collection, ifnone = nil, &block collection.find ifnone, &block end |
.find_index(collection, &block) ⇒ Object
61 62 |
# File 'lib/elixir/enum.rb', line 61 def find_index collection, &block end |
.find_value(collection, ifnone = nil, &block) ⇒ Object
64 65 |
# File 'lib/elixir/enum.rb', line 64 def find_value collection, ifnone = nil, &block end |
.flat_map(collection, &block) ⇒ Object
67 68 69 |
# File 'lib/elixir/enum.rb', line 67 def flat_map collection, &block collection.flat_map &block end |
.flat_map_reduce(collection, acc, &block) ⇒ Object
71 72 |
# File 'lib/elixir/enum.rb', line 71 def flat_map_reduce collection, acc, &block end |
.group_by(collection, dict = {}, &block) ⇒ Object
74 75 |
# File 'lib/elixir/enum.rb', line 74 def group_by collection, dict = {}, &block end |
.intersperse(collection, element) ⇒ Object
77 78 |
# File 'lib/elixir/enum.rb', line 77 def intersperse collection, element end |
.into(collection, list, transform = nil) ⇒ Object
80 81 |
# File 'lib/elixir/enum.rb', line 80 def into collection, list, transform = nil end |
.join(collection, joiner = '') ⇒ Object
83 84 85 |
# File 'lib/elixir/enum.rb', line 83 def join collection, joiner = '' collection.join joiner end |
.map(collection, &block) ⇒ Object
87 88 89 |
# File 'lib/elixir/enum.rb', line 87 def map collection, &block collection.map &block end |
.map_join(collection, joiner = '', &block) ⇒ Object
91 92 |
# File 'lib/elixir/enum.rb', line 91 def map_join collection, joiner = '', &block end |
.map_reduce(collection, acc, &block) ⇒ Object
94 95 |
# File 'lib/elixir/enum.rb', line 94 def map_reduce collection, acc, &block end |
.max(collection) ⇒ Object
97 98 99 |
# File 'lib/elixir/enum.rb', line 97 def max collection collection.max end |
.max_by(collection, &block) ⇒ Object
101 102 |
# File 'lib/elixir/enum.rb', line 101 def max_by collection, &block end |
.member?(collection, value) ⇒ Boolean
104 105 106 |
# File 'lib/elixir/enum.rb', line 104 def member? collection, value collection.member? value end |
.min(collection) ⇒ Object
108 109 110 |
# File 'lib/elixir/enum.rb', line 108 def min collection collection.min end |
.min_by(collection, &block) ⇒ Object
112 113 114 |
# File 'lib/elixir/enum.rb', line 112 def min_by collection, &block collection.min_by &block end |
.partition(collection, &block) ⇒ Object
116 117 118 |
# File 'lib/elixir/enum.rb', line 116 def partition collection, &block collection.partition &block end |
.reduce(collection, acc = nil, &block) ⇒ Object
120 121 122 |
# File 'lib/elixir/enum.rb', line 120 def reduce collection, acc = nil, &block collection.reduce acc, &block end |
.reject(collection, &block) ⇒ Object
124 125 126 |
# File 'lib/elixir/enum.rb', line 124 def reject collection, &block collection.reject &block end |
.reverse(collection, tail = nil) ⇒ Object
128 129 130 131 132 133 134 |
# File 'lib/elixir/enum.rb', line 128 def reverse collection, tail = nil if tail collection.reverse << tail else collection.reverse end end |
.scan(collection, acc = 0, &block) ⇒ Object
136 137 |
# File 'lib/elixir/enum.rb', line 136 def scan collection, acc = 0, &block end |
.shuffle(collection) ⇒ Object
139 140 141 |
# File 'lib/elixir/enum.rb', line 139 def shuffle collection collection.shuffle end |
.slice(collection, x, count = nil) ⇒ Object
143 144 |
# File 'lib/elixir/enum.rb', line 143 def slice collection, x, count = nil end |
.sort(collection, &block) ⇒ Object
146 147 148 |
# File 'lib/elixir/enum.rb', line 146 def sort collection, &block collection.sort &block end |
.sort_by(collection, mapper, sorter = nil) ⇒ Object
150 151 |
# File 'lib/elixir/enum.rb', line 150 def sort_by collection, mapper, sorter = nil end |
.split(collection, count) ⇒ Object
153 154 155 |
# File 'lib/elixir/enum.rb', line 153 def split collection, count end |
.split_while(collection, &block) ⇒ Object
157 158 |
# File 'lib/elixir/enum.rb', line 157 def split_while collection, &block end |
.sum(collection) ⇒ Object
160 161 162 |
# File 'lib/elixir/enum.rb', line 160 def sum collection collection.inject :+ end |
.take(collection, count) ⇒ Object
164 165 166 |
# File 'lib/elixir/enum.rb', line 164 def take collection, count collection.take count end |
.take_every(collection, nth) ⇒ Object
168 169 170 |
# File 'lib/elixir/enum.rb', line 168 def take_every collection, nth collection.step by: nth end |
.take_while(collection, &block) ⇒ Object
172 173 |
# File 'lib/elixir/enum.rb', line 172 def take_while collection, &block end |
.to_list(collection) ⇒ Object
175 176 177 |
# File 'lib/elixir/enum.rb', line 175 def to_list collection collection.to_a end |
.uniq(collection, &block) ⇒ Object
179 180 181 |
# File 'lib/elixir/enum.rb', line 179 def uniq collection, &block collection.uniq &block end |
.with_index(collection) ⇒ Object
183 184 185 |
# File 'lib/elixir/enum.rb', line 183 def with_index collection collection.each_with_index.to_a end |
.zip(collection1, collection2) ⇒ Object
187 188 189 |
# File 'lib/elixir/enum.rb', line 187 def zip collection1, collection2 collection1.zip collection2 end |