bools 0.5.1 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -12
  3. data/bools.gemspec +1 -1
  4. data/lib/bools.rb +7 -4
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d6e6999c8281dfe44baff03d74462a776762f512969fc67225be9fcc7f7d806e
4
- data.tar.gz: 49b805b89258561dbf37e7feb368be6556fa1d00bf8fd32c15c111d928c35393
3
+ metadata.gz: b91898adbcedddadfdd84f19791371b5ea4ed860659aecc394e9323f6583ca9a
4
+ data.tar.gz: 2634c08fa8710dbaf43147e0ea49a7dd39fe9556f3aff10b9d7094ef3ac8c7de
5
5
  SHA512:
6
- metadata.gz: 0f9ed7042f794abe36dd17a93f0c419389962f175b8de982d40abc5a0e5e4574a7a2d0e232135e970e93edd2a859f26e2611b685cfd6c5ad3821dd7bcc3eb0a9
7
- data.tar.gz: 75127f604c64ef3f8a256ed1ed8340017b64274395599969d2709c27daee41ad89439a828083771317bb4a9e43f1b01987cf6a79302ce03d83f501dfb46e4c99
6
+ metadata.gz: 156753ba96c9e35412d42e01a3f1306051320d36608af9bedc03f6410f11ced1cad2695c8c449f22f501a40d18bde44331f827f161e684754867285540a7d6d4
7
+ data.tar.gz: dfe62429f49e36a07288af113715dfec3220718f7f871c14b3a0fd682dd5a9b8cb690488155bcb21ab2053942d225614c0bad2abad01d01be245b77fd1f33b99
data/README.md CHANGED
@@ -17,7 +17,7 @@ This small file:
17
17
  ```ruby
18
18
  require 'bools'
19
19
 
20
- def test(a, b, c, d)
20
+ def test(a, b, c)
21
21
  a == c
22
22
  end
23
23
  ```
@@ -25,19 +25,19 @@ end
25
25
  Produces the following:
26
26
 
27
27
  ```
28
- a b c d | result
29
- --------+-------
30
- 0 0 0 0 | 1
31
- 0 0 0 1 | 1
32
- 0 0 1 0 | 0
33
- 0 0 1 1 | 0
34
- 0 1 0 0 | 1
35
- 0 1 0 1 | 1
36
- 0 1 1 0 | 0
37
- 0 1 1 1 | 0
28
+ a b c | result
29
+ ------+-------
30
+ 0 0 0 | 1
31
+ 0 0 1 | 1
32
+ 0 1 0 | 0
33
+ 0 1 1 | 0
34
+ 1 0 0 | 1
35
+ 1 0 1 | 1
36
+ 1 1 0 | 0
37
+ 1 1 1 | 0
38
38
  ```
39
39
 
40
- Notice that 4 booleans are checked, since there are 4 input variables.
40
+ Notice that 3 booleans are checked, since there are 3 input variables.
41
41
 
42
42
  ## Why?
43
43
 
data/bools.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "bools"
5
- s.version = "0.5.1"
5
+ s.version = "0.5.3"
6
6
  s.author = "Steve Shreeve"
7
7
  s.email = "steve.shreeve@gmail.com"
8
8
  s.summary = "Bools is a Ruby gem that makes it easy to evaluate boolean conditionals"
data/lib/bools.rb CHANGED
@@ -1,10 +1,13 @@
1
1
  def bools!
2
2
  vars = method(:test).arity
3
- list = vars.times.map {|i| (97 + i).chr}
3
+ cols = vars.times.map {|i| (97 + i).chr}
4
+ runs = 1 << vars
5
+
4
6
  puts
5
- puts [*list, '|', 'result'] * ' '
6
- puts ['--' * list.size, '-' * 6] * '+-'
7
- (1 << vars).times do |i|
7
+ puts [*cols, '|', 'result'] * ' '
8
+ puts ['--' * cols.size, '-' * 6] * '+-'
9
+
10
+ runs.times do |i|
8
11
  list = ("%0*b" % [vars, i]).split('')
9
12
  vals = list.map {|item| item == '1'}
10
13
  resu = !!test(*vals) ? '1' : '0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Shreeve