say_number 1.0.0 → 1.0.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 806c4ae40850ffbc87958d641f05699aa7cd574f
4
- data.tar.gz: 1d80fb677a6edf870bd8ce07ed859a2f5a0e1e1f
3
+ metadata.gz: 5b3db53ec1a750d8b7b6d2ff55fd4f92547e9bd0
4
+ data.tar.gz: 846b2063ee97abc464734233172d8b8a979fc27b
5
5
  SHA512:
6
- metadata.gz: 243f9dea9db65f23190ff782c57df46f477d0f0a0711171132ac4b1c0ddeedbae4fa5aee5d8605a258e654964c77a6b4da1ae6372580b48c3c1aef71bb94f915
7
- data.tar.gz: 097e2d2770935adbcc5018f19c7bc5e28a9385aba0720a312aa26ebb62b4f3101db22cb9c4c6ac9a1dfc782cbc42508bdf389e710f687fb7fefc876190c5cac8
6
+ metadata.gz: e7c624e78c4af189638d49ede6d16a398c9820a8eee80e7b4a897fa9aa787a29093dc89d24f6c015cbf349b79253a590dfd0157d1f6a6e5b5d4839962044b47e
7
+ data.tar.gz: 1cc47145c3817667d298c4163364323061b1496df9b8dd91e2776cb5361069a356e480844bcbde3741099d7bb9c3f55f28488171f377a5d61b15a7ad77a89cff
@@ -1,273 +1,273 @@
1
- class English
2
- def self.initialize_sayer
3
- @satuan_en = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
4
- @teen = {10=>"ten", 11=>"eleven", 12=>"twelve", 13=>"thirteen", 14=>"fourteen", 15=>"fifteen", 16=>"sixteen", 17=>"seventeen", 18=>"eighteen", 19=>"nineteen"}
5
- @anomalies = {20=>"twenty", 30=>"thirty", 40=>"fourty", 50=>"fifty", 60=>"sixty", 70=>"seventy", 80=>"eighty", 90=>"ninety", 100=>"hundred", 1000=>"thousand", 1000000=>"million", 1000000000=>"billion", 1000000000000=>"trillion", 1000000000000000=>"quadrillion"}
6
- end
7
-
8
- def self.say_koma(koma)
9
- @koma = []
10
- @koma.push("point")
11
- @temp = koma.to_s.split("")
12
- @temp.each do |k|
13
- @koma.push(@satuan_en[k.to_i])
14
- end
15
- return @koma.join(" ")
16
- end
17
-
18
- def self.get_number_sayer_ratusan(number)
19
- @sayer = []
20
- @temp = number.first
21
- if number.count == 1
22
- return @sayer.push(@satuan_en[@temp])
23
- elsif number.count == 2
24
- if number[1] == 1
25
- @sayer.push(@teen[10+@temp])
26
- else
27
- if @temp != 0
28
- @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp])
29
- else
30
- @sayer.push(@anomalies[number[1]*10])
31
- end
32
- end
33
- return @sayer
34
- elsif number.count == 3
35
- if number.last == 0
36
- else
37
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
38
- end
39
- if number[1] == 1
40
- @sayer.push(@teen[10+@temp])
41
- elsif number[1] == 0
42
- if @temp != 0
43
- @sayer.push(@satuan_en[@temp])
44
- end
45
- else
46
- if @temp != 0
47
- @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp])
48
- else
49
- @sayer.push(@anomalies[number[1]*10])
50
- end
51
- end
52
- return @sayer
53
- end
54
- end
55
-
56
- def self.get_number_sayer_ratus_ribuan(number)
57
- @sayer = []
58
- @temp = number.first
59
- if number.count == 1
60
- @sayer.push(@satuan_en[@temp]).push(@anomalies[1000])
61
- return @sayer
62
- elsif number.count == 2
63
- if number[1] == 1
64
- @sayer.push(@teen[10+@temp]).push(@anomalies[1000])
65
- else
66
- if @temp != 0
67
- @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000])
68
- else
69
- @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000])
70
- end
71
- end
72
- return @sayer
73
- elsif number.count == 3
74
- if number.last == 0
75
- else
76
- if @temp != 0
77
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
78
- else
79
- if number[1] != 0
80
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
81
- else
82
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100]).push(@anomalies[1000])
83
- end
84
- end
85
- end
86
- if number[1] == 1
87
- @sayer.push(@teen[10+@temp]).push(@anomalies[1000])
88
- elsif number[1] == 0
89
- if @temp != 0
90
- @sayer.push(@satuan_en[@temp]).push(@anomalies[1000])
91
- end
92
- else
93
- if @temp != 0
94
- @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000])
95
- else
96
- @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000])
97
- end
98
- end
99
- return @sayer
100
- end
101
- end
102
-
103
- def self.get_number_sayer_ratus_jutaan(number)
104
- @sayer = []
105
- @temp = number.first
106
- if number.count == 1
107
- @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000])
108
- return @sayer
109
- elsif number.count == 2
110
- if number[1] == 1
111
- @sayer.push(@teen[10+@temp]).push(@anomalies[1000000])
112
- else
113
- if @temp != 0
114
- @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000])
115
- else
116
- @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000])
117
- end
118
- end
119
- return @sayer
120
- elsif number.count == 3
121
- if number.last == 0
122
- else
123
- if @temp != 0
124
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
125
- else
126
- if number[1] != 0
127
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
128
- else
129
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100]).push(@anomalies[1000000])
130
- end
131
- end
132
- end
133
- if number[1] == 1
134
- @sayer.push(@teen[10+@temp]).push(@anomalies[1000000])
135
- elsif number[1] == 0
136
- if @temp != 0
137
- @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000])
138
- end
139
- else
140
- if @temp != 0
141
- @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000])
142
- else
143
- @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000])
144
- end
145
- end
146
- return @sayer
147
- end
148
- end
149
-
150
- def self.get_number_sayer_ratus_milyaran(number)
151
- @sayer = []
152
- @temp = number.first
153
- if number.count == 1
154
- @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000000])
155
- return @sayer
156
- elsif number.count == 2
157
- if number[1] == 1
158
- @sayer.push(@teen[10+@temp]).push(@anomalies[1000000000])
159
- else
160
- if @temp != 0
161
- @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000000])
162
- else
163
- @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000000])
164
- end
165
- end
166
- return @sayer
167
- elsif number.count == 3
168
- if number.last == 0
169
- else
170
- if @temp != 0
171
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
172
- else
173
- if number[1] != 0
174
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
175
- else
176
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100]).push(@anomalies[1000000000])
177
- end
178
- end
179
- end
180
- if number[1] == 1
181
- @sayer.push(@teen[10+@temp]).push(@anomalies[1000000000])
182
- elsif number[1] == 0
183
- if @temp != 0
184
- @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000000])
185
- end
186
- else
187
- if @temp != 0
188
- @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000000])
189
- else
190
- @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000000])
191
- end
192
- end
193
- return @sayer
194
- end
195
- end
196
-
197
- def self.get_number_sayer_ratus_triliunan(number)
198
- @sayer = []
199
- @temp = number.first
200
- if number.count == 1
201
- @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000000000])
202
- return @sayer
203
- elsif number.count == 2
204
- if number[1] == 1
205
- @sayer.push(@teen[10+@temp]).push(@anomalies[1000000000000])
206
- else
207
- if @temp != 0
208
- @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000000000])
209
- else
210
- @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000000000])
211
- end
212
- end
213
- return @sayer
214
- elsif number.count == 3
215
- if number.last == 0
216
- else
217
- if @temp != 0
218
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
219
- else
220
- if number[1] != 0
221
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
222
- else
223
- @sayer.push(@satuan_en[number.last]).push(@anomalies[100]).push(@anomalies[1000000000000])
224
- end
225
- end
226
- end
227
- if number[1] == 1
228
- @sayer.push(@teen[10+@temp]).push(@anomalies[1000000000000])
229
- elsif number[1] == 0
230
- if @temp != 0
231
- @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000000000])
232
- end
233
- else
234
- if @temp != 0
235
- @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000000000])
236
- else
237
- @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000000000])
238
- end
239
- end
240
- return @sayer
241
- end
242
- end
243
-
244
- def self.check_nol(saying)
245
- if saying == ["zero"] or saying == "zero"
246
- return ["zero"]
247
- end
248
- @check = saying.split(@satuan_en.first)
249
- if @check.count < 1
250
- return @check
251
- else
252
- return @check.map!{ |element| element.gsub("zero", "").gsub(" ", " ") }
253
- end
254
- end
255
-
256
- def self.get_number_sayer_per_separator(block, number)
257
- @array_number = number.split("").map { |i| i.to_i }
258
- if block == 0
259
- get_number_sayer_ratusan(@array_number)
260
- elsif block == 1
261
- get_number_sayer_ratus_ribuan(@array_number)
262
- elsif block == 2
263
- get_number_sayer_ratus_jutaan(@array_number)
264
- elsif block == 3
265
- get_number_sayer_ratus_milyaran(@array_number)
266
- elsif block == 4
267
- get_number_sayer_ratus_triliunan(@array_number)
268
- else
269
- raise "exceeds the calculation function"
270
- end
271
- end
272
-
273
- end
1
+ class English
2
+ def self.initialize_sayer
3
+ @satuan_en = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
4
+ @teen = {10=>"ten", 11=>"eleven", 12=>"twelve", 13=>"thirteen", 14=>"fourteen", 15=>"fifteen", 16=>"sixteen", 17=>"seventeen", 18=>"eighteen", 19=>"nineteen"}
5
+ @anomalies = {20=>"twenty", 30=>"thirty", 40=>"forty", 50=>"fifty", 60=>"sixty", 70=>"seventy", 80=>"eighty", 90=>"ninety", 100=>"hundred", 1000=>"thousand", 1000000=>"million", 1000000000=>"billion", 1000000000000=>"trillion", 1000000000000000=>"quadrillion"}
6
+ end
7
+
8
+ def self.say_koma(koma)
9
+ @koma = []
10
+ @koma.push("point")
11
+ @temp = koma.to_s.split("")
12
+ @temp.each do |k|
13
+ @koma.push(@satuan_en[k.to_i])
14
+ end
15
+ return @koma.join(" ")
16
+ end
17
+
18
+ def self.get_number_sayer_ratusan(number)
19
+ @sayer = []
20
+ @temp = number.first
21
+ if number.count == 1
22
+ return @sayer.push(@satuan_en[@temp])
23
+ elsif number.count == 2
24
+ if number[1] == 1
25
+ @sayer.push(@teen[10+@temp])
26
+ else
27
+ if @temp != 0
28
+ @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp])
29
+ else
30
+ @sayer.push(@anomalies[number[1]*10])
31
+ end
32
+ end
33
+ return @sayer
34
+ elsif number.count == 3
35
+ if number.last == 0
36
+ else
37
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
38
+ end
39
+ if number[1] == 1
40
+ @sayer.push(@teen[10+@temp])
41
+ elsif number[1] == 0
42
+ if @temp != 0
43
+ @sayer.push(@satuan_en[@temp])
44
+ end
45
+ else
46
+ if @temp != 0
47
+ @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp])
48
+ else
49
+ @sayer.push(@anomalies[number[1]*10])
50
+ end
51
+ end
52
+ return @sayer
53
+ end
54
+ end
55
+
56
+ def self.get_number_sayer_ratus_ribuan(number)
57
+ @sayer = []
58
+ @temp = number.first
59
+ if number.count == 1
60
+ @sayer.push(@satuan_en[@temp]).push(@anomalies[1000])
61
+ return @sayer
62
+ elsif number.count == 2
63
+ if number[1] == 1
64
+ @sayer.push(@teen[10+@temp]).push(@anomalies[1000])
65
+ else
66
+ if @temp != 0
67
+ @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000])
68
+ else
69
+ @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000])
70
+ end
71
+ end
72
+ return @sayer
73
+ elsif number.count == 3
74
+ if number.last == 0
75
+ else
76
+ if @temp != 0
77
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
78
+ else
79
+ if number[1] != 0
80
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
81
+ else
82
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100]).push(@anomalies[1000])
83
+ end
84
+ end
85
+ end
86
+ if number[1] == 1
87
+ @sayer.push(@teen[10+@temp]).push(@anomalies[1000])
88
+ elsif number[1] == 0
89
+ if @temp != 0
90
+ @sayer.push(@satuan_en[@temp]).push(@anomalies[1000])
91
+ end
92
+ else
93
+ if @temp != 0
94
+ @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000])
95
+ else
96
+ @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000])
97
+ end
98
+ end
99
+ return @sayer
100
+ end
101
+ end
102
+
103
+ def self.get_number_sayer_ratus_jutaan(number)
104
+ @sayer = []
105
+ @temp = number.first
106
+ if number.count == 1
107
+ @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000])
108
+ return @sayer
109
+ elsif number.count == 2
110
+ if number[1] == 1
111
+ @sayer.push(@teen[10+@temp]).push(@anomalies[1000000])
112
+ else
113
+ if @temp != 0
114
+ @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000])
115
+ else
116
+ @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000])
117
+ end
118
+ end
119
+ return @sayer
120
+ elsif number.count == 3
121
+ if number.last == 0
122
+ else
123
+ if @temp != 0
124
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
125
+ else
126
+ if number[1] != 0
127
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
128
+ else
129
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100]).push(@anomalies[1000000])
130
+ end
131
+ end
132
+ end
133
+ if number[1] == 1
134
+ @sayer.push(@teen[10+@temp]).push(@anomalies[1000000])
135
+ elsif number[1] == 0
136
+ if @temp != 0
137
+ @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000])
138
+ end
139
+ else
140
+ if @temp != 0
141
+ @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000])
142
+ else
143
+ @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000])
144
+ end
145
+ end
146
+ return @sayer
147
+ end
148
+ end
149
+
150
+ def self.get_number_sayer_ratus_milyaran(number)
151
+ @sayer = []
152
+ @temp = number.first
153
+ if number.count == 1
154
+ @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000000])
155
+ return @sayer
156
+ elsif number.count == 2
157
+ if number[1] == 1
158
+ @sayer.push(@teen[10+@temp]).push(@anomalies[1000000000])
159
+ else
160
+ if @temp != 0
161
+ @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000000])
162
+ else
163
+ @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000000])
164
+ end
165
+ end
166
+ return @sayer
167
+ elsif number.count == 3
168
+ if number.last == 0
169
+ else
170
+ if @temp != 0
171
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
172
+ else
173
+ if number[1] != 0
174
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
175
+ else
176
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100]).push(@anomalies[1000000000])
177
+ end
178
+ end
179
+ end
180
+ if number[1] == 1
181
+ @sayer.push(@teen[10+@temp]).push(@anomalies[1000000000])
182
+ elsif number[1] == 0
183
+ if @temp != 0
184
+ @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000000])
185
+ end
186
+ else
187
+ if @temp != 0
188
+ @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000000])
189
+ else
190
+ @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000000])
191
+ end
192
+ end
193
+ return @sayer
194
+ end
195
+ end
196
+
197
+ def self.get_number_sayer_ratus_triliunan(number)
198
+ @sayer = []
199
+ @temp = number.first
200
+ if number.count == 1
201
+ @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000000000])
202
+ return @sayer
203
+ elsif number.count == 2
204
+ if number[1] == 1
205
+ @sayer.push(@teen[10+@temp]).push(@anomalies[1000000000000])
206
+ else
207
+ if @temp != 0
208
+ @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000000000])
209
+ else
210
+ @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000000000])
211
+ end
212
+ end
213
+ return @sayer
214
+ elsif number.count == 3
215
+ if number.last == 0
216
+ else
217
+ if @temp != 0
218
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
219
+ else
220
+ if number[1] != 0
221
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100])
222
+ else
223
+ @sayer.push(@satuan_en[number.last]).push(@anomalies[100]).push(@anomalies[1000000000000])
224
+ end
225
+ end
226
+ end
227
+ if number[1] == 1
228
+ @sayer.push(@teen[10+@temp]).push(@anomalies[1000000000000])
229
+ elsif number[1] == 0
230
+ if @temp != 0
231
+ @sayer.push(@satuan_en[@temp]).push(@anomalies[1000000000000])
232
+ end
233
+ else
234
+ if @temp != 0
235
+ @sayer.push(@anomalies[number[1]*10]).push(@satuan_en[@temp]).push(@anomalies[1000000000000])
236
+ else
237
+ @sayer.push(@anomalies[number[1]*10]).push(@anomalies[1000000000000])
238
+ end
239
+ end
240
+ return @sayer
241
+ end
242
+ end
243
+
244
+ def self.check_nol(saying)
245
+ if saying == ["zero"] or saying == "zero"
246
+ return ["zero"]
247
+ end
248
+ @check = saying.split(@satuan_en.first)
249
+ if @check.count < 1
250
+ return @check
251
+ else
252
+ return @check.map!{ |element| element.gsub("zero", "").gsub(" ", " ") }
253
+ end
254
+ end
255
+
256
+ def self.get_number_sayer_per_separator(block, number)
257
+ @array_number = number.split("").map { |i| i.to_i }
258
+ if block == 0
259
+ get_number_sayer_ratusan(@array_number)
260
+ elsif block == 1
261
+ get_number_sayer_ratus_ribuan(@array_number)
262
+ elsif block == 2
263
+ get_number_sayer_ratus_jutaan(@array_number)
264
+ elsif block == 3
265
+ get_number_sayer_ratus_milyaran(@array_number)
266
+ elsif block == 4
267
+ get_number_sayer_ratus_triliunan(@array_number)
268
+ else
269
+ raise "exceeds the calculation function"
270
+ end
271
+ end
272
+
273
+ end