Elixir_Enum
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

View only
 
 
ABCDEFGHIJKLMNOPQRSTUVWXYZAA
1
関数プレフィックス複合概要
2
1all?(enumerable, fun \\ fn x -> x end)存在確認(すべて)
3
2any?(enumerable, fun \\ fn x -> x end)存在確認(少なくとも1個)
4
3at(enumerable, index, default \\ nil)添字指定で要素取得
5
4chunk_by(enumerable, fun)
条件で分割(ただし完全条件分割ではない)
・連続している条件結果を1つのグループにする。
[1,1,2,1] -> [[1,1], [2], [1]]
6
5chunk_every(enumerable, count, step, leftover \\ [])
個数で分割
・count毎
・次の要素はstep毎に進む
・末尾の切り捨て/補填はleftoverで管理
・1.5.0から使用可
7
6chunk_every(enumerable, count)個数で分割
・countごとに分割
・1.5.0から使用可
8
7chunk_while(enumerable, acc, chunk_fun, after_fun)
条件まで分割
・after_fun=afterタイミングで実行される。
・chunk_fun=分割毎に対して実行
9
8concat(enumerables)複数リスト結合
10
9concat(left, right)2リスト結合
11
10count(enumerable)要素数取得
12
11count(enumerable, fun)条件に当てはまる要素数取得
13
12dedup(enumerable)
連続重複の削除
・Deduplicationの略称
・重複削除。ただし完全重複削除ではない。
・連続している値のみ、重複削除
[1,1,2,1] -> [1,2,1]
14
13dedup_by(enumerable, fun)条件付き連続重複の削除
15
14drop(enumerable, amount)要素削除(個数指定
・添字にマイナス指定可
16
15drop_every(enumerable, nth)要素削除(間隔毎
17
16drop_while(enumerable, fun)要素削除(〜まで
18
17each(enumerable, fun)反復処理
19
18fetch(enumerable, index)取得
・indexでのデータfetch
・maybe monad
→{:ok, value} | :error
20
19filter(enumerable, fun)抽出
21
20empty?(enumerable)空か確認
22
21fetch!(enumerable, index)取得
・indexでのデータfetch
・raise
・value | raise("~~")
23
22find(enumerable, default \\ nil, fun)検索(要素を返す)
24
23group_by(enumerable, key_fun, value_fun \\ fn x -> x end)
グルーピング
・配列を元にMapを作る
・key_fun =
  Key名 かつ
  resultがkey名なものをgrouping
・value_fun = 結果を整形
25
24find_index(enumerable, fun)検索(添字を返す)
26
25find_value(enumerable, default \\ nil, fun)検索(条件文の結果を返す)
・条件による取得+整形が可能
27
26flat_map(enumerable, fun)mapの各結果の要素毎にflat
28
27flat_map_reduce(enumerable, acc, fun)
flat_map と reduceの2結果を返す
・{flatted_map_result, reduce_result}
29
28intersperse(enumerable, element)間にデータ格納
30
29into(enumerable, collectable)注入
31
30into(enumerable, collectable, transform)注入
32
31join(enumerable, joiner \\ "")結合(1リストを1文字列化)
・paddingを指定できる
33
32map(enumerable, fun)反復+再作成
34
33map_every(enumerable, nth, fun)mapを周期ごとに実施
35
34map_join(enumerable, joiner \\ "", mapper)mapのあとにjoin
36
35map_reduce(enumerable, acc, fun)map と reduceの2結果を返す
・{map_result, reduce_result}
37
36max(enumerable, empty_fallback \\ fn -> raise(Enum.EmptyError) end)最大値取得
38
37
max_by(enumerable, fun, empty_fallback \\ fn -> raise(Enum.EmptyError) end)
条件付きの最大値取得
39
38member?(enumerable, element)存在確認(要素)
・anyの弱体化版
40
39min(enumerable, empty_fallback \\ fn -> raise(Enum.EmptyError) end)最小値の取得
41
40
min_by(enumerable, fun, empty_fallback \\ fn -> raise(Enum.EmptyError) end)
条件付きの最小値取得
42
41min_max(enumerable, empty_fallback \\ fn -> raise(Enum.EmptyError) end)最小値・最大値の取得
43
42
min_max_by(enumerable, fun, empty_fallback \\ fn -> raise(Enum.EmptyError) end)
条件付きの最小・最大値の取得
44
43random(enumerable)ランダム取得
45
44reduce(enumerable, fun)畳み込み
46
45reduce(enumerable, acc, fun)畳み込み
47
46reduce_while(enumerable, acc, fun)畳み込み(〜まで)
48
47reject(enumerable, fun)排除
49
48reverse(enumerable)逆順
50
49reverse(enumerable, tail)逆順+末尾挿入
51
50reverse_slice(enumerable, start, count)逆順(範囲指定)
52
51scan(enumerable, fun)畳み込みの経過
・返り値は各経過値のリスト
53
52scan(enumerable, acc, fun)同上
54
53shuffle(enumerable)ランダム順序化
55
54slice(enumerable, arg)
添字による範囲指定で抽出
・argはRange構造体
・range.first〜range.lastの添字番号のemurableのみを取得
56
55slice(enumerable, start, amount)同上
57
56sort(enumerable)整列(昇順)
58
57sort(enumerable, fun)整列(条件順・マージソート)
59
58sort_by(enumerable, mapper, sorter \\ &<=/2)
Map+整列(条件順・マージソート)
・mapperにてソートする際の値の変換
・sorterにて値の整列(マージソート)
60
59split(enumerable, count)二分割
・count番目で分割
61
60split_while(enumerable, fun)二分割
・funがtrueの場所で分割
62
61split_with(enumerable, fun)二分割
・fun結果をtrueth / falsthの
 2つのグループに分割
63
62sum(enumerable)算出:合計値
64
63take(enumerable, amount)取得:〜まで
65
64take_every(enumerable, nth)取得:〜毎
66
65take_random(enumerable, count)ランダム取得:個数指定
※take~の拡張とよりは、random/1の拡張と考えたほうがよい。
67
66take_while(enumerable, fun)条件付き取得:〜まで
68
67to_list(enumerable)
リスト化
・rangeをlistにするだけ。

iex(19)> Enum.to_list 1..10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
69
68uniq(enumerable)完全重複削除
70
69uniq_by(enumerable, fun)
条件付き初回出現要素の選出
・条件関数を渡す
・条件関数の結果値と同一なものの中で、初回分のみを表示
 →重複削除
・条件関数は{k, v}
71
70unzip(enumerable)
添字分解
・1つのkvを2つのリストにする

iex(11)> Enum.unzip([b: 1, a: 2, c: 3])
{[:b, :a, :c], [1, 2, 3]}
72
71with_index(enumerable, offset \\ 0)添字付与
73
72zip(enumerables)
・結合
・複数リストを1つに

iex(71)> Enum.zip [11..20, 21..30, 31..40]
[
{11, 21, 31},
{12, 22, 32},
...
74
73zip(enumerable1, enumerable2)・結合
・2リストを1つに
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Loading...
Main menu