daitai 0.1.8 → 0.1.9
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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +92 -0
- data/lib/daitai.rb +6 -0
- data/lib/daitai/dec.rb +9 -0
- data/lib/daitai/inc.rb +9 -0
- data/lib/daitai/is.rb +9 -0
- data/lib/daitai/is_nil.rb +9 -0
- data/lib/daitai/mean.rb +9 -0
- data/lib/daitai/median.rb +15 -0
- data/lib/daitai/product.rb +1 -1
- data/lib/daitai/sum.rb +1 -1
- data/lib/daitai/version.rb +1 -1
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0fd69882351f60ace283f0a3b53b28c651b8c086d567dae81e48554960e57079
|
4
|
+
data.tar.gz: 976b181231035ae58bb8ce47eaf20df7b4e9f3397646a679f5804e1e58b2d119
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bea4f7410e064302f083afa6971c649d3fa5d8b3c941f18eb5cfc2b1d70ac0394fd9b8f37b2f604dddf628da2e965805942f26dcb8ecb323551b92746309cd97
|
7
|
+
data.tar.gz: 6512fac39887a98f87ccb95dccd1ba2d12c1799c53075e39870868a78a5b4f8dc2318ac8b776e2d50ffaca5439175f7d84f59adec38ff17d356f0f5de4c1eb0c
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -39,16 +39,22 @@ $ gem install daitai
|
|
39
39
|
* [any](#any-definition)
|
40
40
|
* [compose](#compose-definition)
|
41
41
|
* [concat](#concat-definition)
|
42
|
+
* [dec](#dec-definition)
|
42
43
|
* [divide](#divide-definition)
|
43
44
|
* [filter](#filter-definition)
|
44
45
|
* [flip](#flip-definition)
|
45
46
|
* [head](#head-definition)
|
46
47
|
* [identity](#identity-definition)
|
48
|
+
* [inc](#inc-definition)
|
47
49
|
* [init](#init-definition)
|
50
|
+
* [is](#is-definition)
|
51
|
+
* [is_nil](#is_nil-definition)
|
48
52
|
* [last](#last-definition)
|
49
53
|
* [length](#length-definition)
|
50
54
|
* [map](#map-definition)
|
51
55
|
* [max](#max-definition)
|
56
|
+
* [mean](#mean-definition)
|
57
|
+
* [median](#median-definition)
|
52
58
|
* [min](#min-definition)
|
53
59
|
* [modulo](#modulo-definition)
|
54
60
|
* [multiply](#multiply-definition)
|
@@ -181,6 +187,18 @@ Daitai.concat.("Szcz", "ecin") # => "Szczecin"
|
|
181
187
|
|
182
188
|
- - -
|
183
189
|
|
190
|
+
<h4 id='dec-definition'>
|
191
|
+
<code>dec :: Numeric -> Numeric</code>
|
192
|
+
</h4>
|
193
|
+
|
194
|
+
Returns the decremented value of a provided number.
|
195
|
+
|
196
|
+
```ruby
|
197
|
+
Daitai.dec.(7) # => 6
|
198
|
+
```
|
199
|
+
|
200
|
+
- - -
|
201
|
+
|
184
202
|
<h4 id='divide-definition'>
|
185
203
|
<code>divide :: a -> a -> a</code>
|
186
204
|
</h4>
|
@@ -250,6 +268,18 @@ Daitai.identity.("Ruby") # => "Ruby"
|
|
250
268
|
|
251
269
|
- - -
|
252
270
|
|
271
|
+
<h4 id='inc-definition'>
|
272
|
+
<code>inc :: Numeric -> Numeric</code>
|
273
|
+
</h4>
|
274
|
+
|
275
|
+
Returns the incremented value of a provided number.
|
276
|
+
|
277
|
+
```ruby
|
278
|
+
Daitai.inc.(7) # => 8
|
279
|
+
```
|
280
|
+
|
281
|
+
- - -
|
282
|
+
|
253
283
|
<h4 id='init-definition'>
|
254
284
|
<code>init :: [a] -> [a]</code>
|
255
285
|
</h4>
|
@@ -263,6 +293,40 @@ Daitai.init.("Ruby") # => "Rub"
|
|
263
293
|
|
264
294
|
- - -
|
265
295
|
|
296
|
+
<h4 id='is-definition'>
|
297
|
+
<code>is :: Constant -> a -> Bool</code>
|
298
|
+
</h4>
|
299
|
+
|
300
|
+
Checks if an argument is an instance of the provided type.
|
301
|
+
|
302
|
+
```ruby
|
303
|
+
Daitai.is.(Numeric, 7.77) # => true
|
304
|
+
Daitai.is.(Float, 7.77) # => true
|
305
|
+
Daitai.is.(String, "Ruby") # => true
|
306
|
+
Daitai.is.(Regexp, /hello/) # => true
|
307
|
+
|
308
|
+
Daitai.is.(Hash, {}) # => true
|
309
|
+
Daitai.is.(Enumerable, {}) # => true
|
310
|
+
Daitai.is.(Object, {}) # => true
|
311
|
+
Daitai.is.(Numeric, {}) # => false
|
312
|
+
```
|
313
|
+
|
314
|
+
- - -
|
315
|
+
|
316
|
+
<h4 id='is_nil-definition'>
|
317
|
+
<code>is_nil :: a -> Bool</code>
|
318
|
+
</h4>
|
319
|
+
|
320
|
+
Checks if an argument is a `nil`.
|
321
|
+
|
322
|
+
```ruby
|
323
|
+
Daitai.is_nil.(nil) # => true
|
324
|
+
Daitai.is_nil.(false) # => false
|
325
|
+
Daitai.is_nil.(0) # => false
|
326
|
+
```
|
327
|
+
|
328
|
+
- - -
|
329
|
+
|
266
330
|
<h4 id='last-definition'>
|
267
331
|
<code>last :: [a] -> a</code>
|
268
332
|
</h4>
|
@@ -306,6 +370,34 @@ increment.([1, 2, 3, 4]) # => [2, 3, 4, 5]
|
|
306
370
|
|
307
371
|
- - -
|
308
372
|
|
373
|
+
<h4 id='mean-definition'>
|
374
|
+
<code>mean :: [Numeric] -> Float</code>
|
375
|
+
</h4>
|
376
|
+
|
377
|
+
Returns the mean of a list.
|
378
|
+
|
379
|
+
```ruby
|
380
|
+
Daitai.mean.([3, 4.5, 9]) # => 5.5
|
381
|
+
Daitai.mean.([6, 7]) # => 6.5
|
382
|
+
Daitai.mean.([]) # => NaN
|
383
|
+
```
|
384
|
+
|
385
|
+
- - -
|
386
|
+
|
387
|
+
<h4 id='median-definition'>
|
388
|
+
<code>median :: [Numeric] -> Float</code>
|
389
|
+
</h4>
|
390
|
+
|
391
|
+
Returns the median of a list.
|
392
|
+
|
393
|
+
```ruby
|
394
|
+
Daitai.median.([3.14, 4.5, 7.77]) # => 4.5
|
395
|
+
Daitai.median.([6, 7]) # => 6.5
|
396
|
+
Daitai.median.([]) # => NaN
|
397
|
+
```
|
398
|
+
|
399
|
+
- - -
|
400
|
+
|
309
401
|
<h4 id='max-definition'>
|
310
402
|
<code>max :: a -> a -> a</code>
|
311
403
|
</h4>
|
data/lib/daitai.rb
CHANGED
@@ -11,16 +11,22 @@ module Daitai
|
|
11
11
|
extend Any
|
12
12
|
extend Compose
|
13
13
|
extend Concat
|
14
|
+
extend Dec
|
14
15
|
extend Divide
|
15
16
|
extend Filter
|
16
17
|
extend Flip
|
17
18
|
extend Head
|
18
19
|
extend Identity
|
20
|
+
extend Inc
|
19
21
|
extend Init
|
22
|
+
extend Is
|
23
|
+
extend IsNil
|
20
24
|
extend Last
|
21
25
|
extend Length
|
22
26
|
extend Map
|
23
27
|
extend Max
|
28
|
+
extend Mean
|
29
|
+
extend Median
|
24
30
|
extend Min
|
25
31
|
extend Modulo
|
26
32
|
extend Multiply
|
data/lib/daitai/dec.rb
ADDED
data/lib/daitai/inc.rb
ADDED
data/lib/daitai/is.rb
ADDED
data/lib/daitai/mean.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Daitai
|
4
|
+
module Median
|
5
|
+
def median
|
6
|
+
lambda do |list|
|
7
|
+
list_length = length.(list)
|
8
|
+
return Float::NAN if list_length.zero?
|
9
|
+
|
10
|
+
sorted_list = sort.(list)
|
11
|
+
(sorted_list[(list_length - 1) / 2] + sorted_list[list_length / 2]) / 2.0
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/daitai/product.rb
CHANGED
data/lib/daitai/sum.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.9
|
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-
|
11
|
+
date: 2018-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -95,16 +95,22 @@ files:
|
|
95
95
|
- lib/daitai/any.rb
|
96
96
|
- lib/daitai/compose.rb
|
97
97
|
- lib/daitai/concat.rb
|
98
|
+
- lib/daitai/dec.rb
|
98
99
|
- lib/daitai/divide.rb
|
99
100
|
- lib/daitai/filter.rb
|
100
101
|
- lib/daitai/flip.rb
|
101
102
|
- lib/daitai/head.rb
|
102
103
|
- lib/daitai/identity.rb
|
104
|
+
- lib/daitai/inc.rb
|
103
105
|
- lib/daitai/init.rb
|
106
|
+
- lib/daitai/is.rb
|
107
|
+
- lib/daitai/is_nil.rb
|
104
108
|
- lib/daitai/last.rb
|
105
109
|
- lib/daitai/length.rb
|
106
110
|
- lib/daitai/map.rb
|
107
111
|
- lib/daitai/max.rb
|
112
|
+
- lib/daitai/mean.rb
|
113
|
+
- lib/daitai/median.rb
|
108
114
|
- lib/daitai/min.rb
|
109
115
|
- lib/daitai/modulo.rb
|
110
116
|
- lib/daitai/multiply.rb
|