kaki-utils 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/kaki/utils/nest_loop.rb +14 -13
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2d7db20129e1dc41195fd4b6675db599fd586a39
4
- data.tar.gz: 681cd384429c4e953256ba07d0121ac7ca402152
3
+ metadata.gz: d44a23d9124c3edf3b8ccc3de112cdf23db70a56
4
+ data.tar.gz: f0d28dc4ea72f7ad823c7a659f7ca597497729bc
5
5
  SHA512:
6
- metadata.gz: c8c907487eda8a5f000aeb97efd63ba62db2d0dbf71cbb8fd5df50ef61cf7f8e435575ad7868cb4bb06e36ba36ba88fc67bdb62d602617f18b6a896991b0619b
7
- data.tar.gz: 1274578694dfc77ea3da86a6d6d8e72e4d5129027e1812f3fc4c5262c24b2b54b1adb599b8b07425389d731a8261f713ce1420bb0ee1c3cb57596b57a1c03a95
6
+ metadata.gz: bda104aa5d9236c72ba0b0d203f57b8ef637c39cb3539a376313adb3ee2b07923abf31f493657abdf0b12ba12ceace68104b21e518bca19b5c5547924a33a26e
7
+ data.tar.gz: d1da3dd3b2862ee545316e26d2c9b3aee1e368c1700264f0a0355b6dd7be1de020b6eca000fcccf8f3da70dd50b44f753e28293f2b35de875e69da4c45274466
data/README.md CHANGED
@@ -60,4 +60,4 @@ require "kaki/utils/nest_loop"
60
60
  ```
61
61
  method
62
62
 
63
- * Array#nest\_loop
63
+ * Enumerable#nest\_loop
@@ -1,5 +1,5 @@
1
- class Array
2
- #任意の階層だけ繰り返しを行う
1
+ module Enumerable
2
+ #任意の階層だけ繰り返しを行い、ブロックの返り値を順に配列に入れて返す。ブロックが与えられていなければ Enumerator を返す。
3
3
  # @return [Array]
4
4
  def nest_loop
5
5
  check = lambda do |obj|
@@ -7,19 +7,20 @@ class Array
7
7
  obj
8
8
  end
9
9
 
10
- result = []
11
- ns = lambda do |ax, args|
12
- a, ax = ax.first, ax.drop(1)
13
- for i in check.call(a)
14
- nxt = args + [i]
15
- if ax.empty?
16
- result << yield(nxt)
17
- else
18
- ns.call(ax, nxt)
10
+ e = Enumerator.new do |y|
11
+ ns = lambda do |ax, args|
12
+ a, ax = ax.first, ax.drop(1)
13
+ for i in check.call(a)
14
+ nxt = args + [i]
15
+ if ax.empty?
16
+ y << nxt
17
+ else
18
+ ns.call(ax, nxt)
19
+ end
19
20
  end
20
21
  end
22
+ ns.call(self, [])
21
23
  end
22
- ns.call(self, [])
23
- result
24
+ block_given? ? e.each.with_object([]) {|i, h| h << yield(i)} : e
24
25
  end
25
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kaki-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - obelisk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-06 00:00:00.000000000 Z
11
+ date: 2018-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gtk2