daitai 0.1.4 → 0.1.5
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.
- checksums.yaml +5 -5
- data/Gemfile.lock +1 -1
- data/README.md +78 -2
- data/lib/daitai.rb +5 -0
- data/lib/daitai/abs.rb +1 -3
- data/lib/daitai/concat.rb +24 -0
- data/lib/daitai/length.rb +9 -0
- data/lib/daitai/max.rb +9 -0
- data/lib/daitai/min.rb +9 -0
- data/lib/daitai/negate.rb +1 -3
- data/lib/daitai/not.rb +1 -3
- data/lib/daitai/reverse.rb +9 -0
- data/lib/daitai/signum.rb +1 -3
- data/lib/daitai/version.rb +1 -1
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b580a7ada3ae9b6b21a4c8cc3aaa6768cbca06f267081dd2c53e8da0db8b82d0
|
4
|
+
data.tar.gz: 495f5ed0f52a58a53247fae9d2f41795b915b7f33b4d60a530f203bea681eb82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f708096ff66b8c837fe24bc24b0a41b4373ca9bcc85c7280fdec9ffb4b8967a2161bfdddaa3354cea01ff5bcf103a156371b839a396dbc28df7e778f4c0d9ba
|
7
|
+
data.tar.gz: 3a7836b2adddc9ec27fa54261303996fe3f0999067bc8f6682123ae73983cc901d626c66643c8a369a08a13184a3395e8dfa01b4932daed1ae3b2a1146c8efdd
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -37,12 +37,16 @@ $ gem install daitai
|
|
37
37
|
* [and](#and-definition)
|
38
38
|
* [any](#any-definition)
|
39
39
|
* [compose](#compose-definition)
|
40
|
+
* [concat](#concat-definition)
|
40
41
|
* [divide](#divide-definition)
|
41
42
|
* [filter](#filter-definition)
|
42
43
|
* [head](#head-definition)
|
43
44
|
* [init](#init-definition)
|
44
45
|
* [last](#last-definition)
|
46
|
+
* [length](#length-definition)
|
45
47
|
* [map](#map-definition)
|
48
|
+
* [max](#max-definition)
|
49
|
+
* [min](#min-definition)
|
46
50
|
* [modulo](#modulo-definition)
|
47
51
|
* [multiply](#multiply-definition)
|
48
52
|
* [negate](#negate-definition)
|
@@ -51,6 +55,7 @@ $ gem install daitai
|
|
51
55
|
* [pipe](#pipe-definition)
|
52
56
|
* [product](#product-definition)
|
53
57
|
* [reduce](#reduce-definition)
|
58
|
+
* [reverse](#reverse-definition)
|
54
59
|
* [signum](#signum-definition)
|
55
60
|
* [sort](#sort-definition)
|
56
61
|
* [subtract](#subtract-definition)
|
@@ -142,6 +147,19 @@ f.(10) # => 144
|
|
142
147
|
|
143
148
|
- - -
|
144
149
|
|
150
|
+
<h4 id='concat-definition'>
|
151
|
+
<code>concat :: [a] -> [a] -> [a]</code>
|
152
|
+
</h4>
|
153
|
+
|
154
|
+
Returns the result of concatenating provided lists or strings.
|
155
|
+
|
156
|
+
```ruby
|
157
|
+
Daitai.concat.([1, 2], [3, 4]) # => [1, 2, 3, 4]
|
158
|
+
Daitai.concat.("Szcz", "ecin") # => "Szczecin"
|
159
|
+
```
|
160
|
+
|
161
|
+
- - -
|
162
|
+
|
145
163
|
<h4 id='divide-definition'>
|
146
164
|
<code>divide :: a -> a -> a</code>
|
147
165
|
</h4>
|
@@ -203,8 +221,21 @@ Daitai.init.("Ruby") # => "Rub"
|
|
203
221
|
Returns the last element of a list.
|
204
222
|
|
205
223
|
```ruby
|
206
|
-
Daitai.
|
207
|
-
Daitai.
|
224
|
+
Daitai.last.([1, 2, 3, 4]) # => 4
|
225
|
+
Daitai.last.("Ruby") # => "y"
|
226
|
+
```
|
227
|
+
|
228
|
+
- - -
|
229
|
+
|
230
|
+
<h4 id='length-definition'>
|
231
|
+
<code>length :: [a] -> Integer</code>
|
232
|
+
</h4>
|
233
|
+
|
234
|
+
Returns the length of a list.
|
235
|
+
|
236
|
+
```ruby
|
237
|
+
Daitai.length.([1, 2, 3, 4]) # => 4
|
238
|
+
Daitai.length.("Ruby") # => 4
|
208
239
|
```
|
209
240
|
|
210
241
|
- - -
|
@@ -225,6 +256,38 @@ increment.([1, 2, 3, 4]) # => [2, 3, 4, 5]
|
|
225
256
|
|
226
257
|
- - -
|
227
258
|
|
259
|
+
<h4 id='max-definition'>
|
260
|
+
<code>max :: a -> a -> a</code>
|
261
|
+
</h4>
|
262
|
+
|
263
|
+
Returns the larger of two arguments.
|
264
|
+
|
265
|
+
```ruby
|
266
|
+
Daitai.max.(6, 7) # => 7
|
267
|
+
|
268
|
+
non_negative = Daitai.max.(0)
|
269
|
+
non_negative.(-7) # => 0
|
270
|
+
non_negative.(11) # => 11
|
271
|
+
```
|
272
|
+
|
273
|
+
- - -
|
274
|
+
|
275
|
+
<h4 id='min-definition'>
|
276
|
+
<code>min :: a -> a -> a</code>
|
277
|
+
</h4>
|
278
|
+
|
279
|
+
Returns the smaller of two arguments.
|
280
|
+
|
281
|
+
```ruby
|
282
|
+
Daitai.min.(6, 7) # => 6
|
283
|
+
|
284
|
+
non_positive = Daitai.min.(0)
|
285
|
+
non_positive.(-7) # => -7
|
286
|
+
non_positive.(11) # => 0
|
287
|
+
```
|
288
|
+
|
289
|
+
- - -
|
290
|
+
|
228
291
|
<h4 id='modulo-definition'>
|
229
292
|
<code>modulo :: a -> a -> a</code>
|
230
293
|
</h4>
|
@@ -335,6 +398,19 @@ concat.(%w[l a m b d a]) # => "lambda"
|
|
335
398
|
|
336
399
|
- - -
|
337
400
|
|
401
|
+
<h4 id='reverse-definition'>
|
402
|
+
<code>reverse :: [a] -> [a]</code>
|
403
|
+
</h4>
|
404
|
+
|
405
|
+
Returns the elements of a list in reverse order.
|
406
|
+
|
407
|
+
```ruby
|
408
|
+
Daitai.reverse.([0, 5, 10, 15]) # => [15, 10, 5, 0]
|
409
|
+
Daitai.reverse.("raw desserts") # => "stressed war"
|
410
|
+
```
|
411
|
+
|
412
|
+
- - -
|
413
|
+
|
338
414
|
<h4 id='signum-definition'>
|
339
415
|
<code>signum :: a -> a</code>
|
340
416
|
</h4>
|
data/lib/daitai.rb
CHANGED
@@ -9,12 +9,16 @@ module Daitai
|
|
9
9
|
extend And
|
10
10
|
extend Any
|
11
11
|
extend Compose
|
12
|
+
extend Concat
|
12
13
|
extend Divide
|
13
14
|
extend Filter
|
14
15
|
extend Head
|
15
16
|
extend Init
|
16
17
|
extend Last
|
18
|
+
extend Length
|
17
19
|
extend Map
|
20
|
+
extend Max
|
21
|
+
extend Min
|
18
22
|
extend Modulo
|
19
23
|
extend Multiply
|
20
24
|
extend Negate
|
@@ -23,6 +27,7 @@ module Daitai
|
|
23
27
|
extend Pipe
|
24
28
|
extend Product
|
25
29
|
extend Reduce
|
30
|
+
extend Reverse
|
26
31
|
extend Signum
|
27
32
|
extend Sort
|
28
33
|
extend Subtract
|
data/lib/daitai/abs.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Daitai
|
4
|
+
module Concat
|
5
|
+
def concat
|
6
|
+
lambda do |x, y|
|
7
|
+
case x
|
8
|
+
when String then string_concat(x, y)
|
9
|
+
else default_concat(x, y)
|
10
|
+
end
|
11
|
+
end.curry
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def string_concat(x, y)
|
17
|
+
x + y
|
18
|
+
end
|
19
|
+
|
20
|
+
def default_concat(x, y)
|
21
|
+
x.concat(y)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/daitai/max.rb
ADDED
data/lib/daitai/min.rb
ADDED
data/lib/daitai/negate.rb
CHANGED
data/lib/daitai/not.rb
CHANGED
data/lib/daitai/signum.rb
CHANGED
data/lib/daitai/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: daitai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Walerian Sobczak
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -93,12 +93,16 @@ files:
|
|
93
93
|
- lib/daitai/and.rb
|
94
94
|
- lib/daitai/any.rb
|
95
95
|
- lib/daitai/compose.rb
|
96
|
+
- lib/daitai/concat.rb
|
96
97
|
- lib/daitai/divide.rb
|
97
98
|
- lib/daitai/filter.rb
|
98
99
|
- lib/daitai/head.rb
|
99
100
|
- lib/daitai/init.rb
|
100
101
|
- lib/daitai/last.rb
|
102
|
+
- lib/daitai/length.rb
|
101
103
|
- lib/daitai/map.rb
|
104
|
+
- lib/daitai/max.rb
|
105
|
+
- lib/daitai/min.rb
|
102
106
|
- lib/daitai/modulo.rb
|
103
107
|
- lib/daitai/multiply.rb
|
104
108
|
- lib/daitai/negate.rb
|
@@ -107,6 +111,7 @@ files:
|
|
107
111
|
- lib/daitai/pipe.rb
|
108
112
|
- lib/daitai/product.rb
|
109
113
|
- lib/daitai/reduce.rb
|
114
|
+
- lib/daitai/reverse.rb
|
110
115
|
- lib/daitai/signum.rb
|
111
116
|
- lib/daitai/sort.rb
|
112
117
|
- lib/daitai/subtract.rb
|
@@ -133,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
138
|
version: '0'
|
134
139
|
requirements: []
|
135
140
|
rubyforge_project:
|
136
|
-
rubygems_version: 2.
|
141
|
+
rubygems_version: 2.7.3
|
137
142
|
signing_key:
|
138
143
|
specification_version: 4
|
139
144
|
summary: A functional library for Ruby.
|