bools 0.5.1 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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