daitai 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|