tatara 0.1.0 → 0.2.0
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/.circleci/config.yml +23 -0
- data/Gemfile.lock +2 -2
- data/README.md +4 -0
- data/docs/_config.yml +1 -0
- data/docs/index.md +100 -0
- data/docs/tatara/float.md +425 -0
- data/docs/tatara/float_array.md +256 -0
- data/docs/tatara/float_float_map.md +52 -0
- data/docs/tatara/float_integer_map.md +52 -0
- data/docs/tatara/float_string_map.md +52 -0
- data/docs/tatara/float_vector.md +269 -0
- data/docs/tatara/integer.md +480 -0
- data/docs/tatara/integer_array.md +256 -0
- data/docs/tatara/integer_float_map.md +52 -0
- data/docs/tatara/integer_integer_map.md +52 -0
- data/docs/tatara/integer_string_map.md +52 -0
- data/docs/tatara/integer_vector.md +268 -0
- data/docs/tatara/string.md +223 -0
- data/docs/tatara/string_array.md +254 -0
- data/docs/tatara/string_float_map.md +56 -0
- data/docs/tatara/string_int_map.md +55 -0
- data/docs/tatara/string_string_map.md +55 -0
- data/docs/tatara/string_vector.md +270 -0
- data/ext/tatara/array/array.hpp +60 -0
- data/ext/tatara/float/float.hpp +51 -0
- data/ext/tatara/integer/integer.hpp +67 -0
- data/ext/tatara/string/string.hpp +28 -0
- data/ext/tatara/tatara.cpp +138 -9
- data/ext/tatara/vector/vector.hpp +60 -0
- data/lib/tatara.rb +2 -0
- data/lib/tatara/array/array.rb +37 -0
- data/lib/tatara/tatara_ext.rb +6 -0
- data/lib/tatara/vector/vector.rb +37 -0
- data/lib/tatara/version.rb +1 -1
- metadata +27 -3
@@ -0,0 +1,223 @@
|
|
1
|
+
# Tatara::String
|
2
|
+
## About
|
3
|
+
|
4
|
+
`Tatara::String` is `String` class like `static type programming lang`.
|
5
|
+
|
6
|
+
`Tatara::String` can set `val` for `String`.
|
7
|
+
|
8
|
+
```ruby
|
9
|
+
@s = Tatara::String.new
|
10
|
+
@s.val = "hoge"
|
11
|
+
# => Set "hoge"
|
12
|
+
@s.val = "fuga"
|
13
|
+
# => Set "fuga"
|
14
|
+
```
|
15
|
+
|
16
|
+
But, can not set `Integer` & `Float` value.
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
@s = Tatara::String.new
|
20
|
+
@s.val = 42
|
21
|
+
# => Error!
|
22
|
+
@s.val = 4.2
|
23
|
+
# => Error!
|
24
|
+
```
|
25
|
+
|
26
|
+
## Methods
|
27
|
+
### Tatara::String#new
|
28
|
+
|
29
|
+
Create new `Tatara::String` instance. And init `value` is `""`
|
30
|
+
|
31
|
+
```ruby
|
32
|
+
@s = Tatara::String.new
|
33
|
+
```
|
34
|
+
|
35
|
+
### Tatara::String#value
|
36
|
+
|
37
|
+
return `Tatara::String` instance value.
|
38
|
+
|
39
|
+
```ruby
|
40
|
+
@s = Tatara::String.new
|
41
|
+
puts @s.value
|
42
|
+
# => Show ""
|
43
|
+
```
|
44
|
+
|
45
|
+
### Tatara::String#val
|
46
|
+
|
47
|
+
return `Tatara::String` instance value.
|
48
|
+
|
49
|
+
```ruby
|
50
|
+
@s = Tatara::String.new
|
51
|
+
puts @s.val
|
52
|
+
# => Show ""
|
53
|
+
```
|
54
|
+
|
55
|
+
### Tatara::String#value=
|
56
|
+
|
57
|
+
Set instance value for `Tatara::String`.
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
@s = Tatara::String.new
|
61
|
+
@s.value = "42"
|
62
|
+
# => Set "42"
|
63
|
+
```
|
64
|
+
|
65
|
+
### Tatara::String#val=
|
66
|
+
|
67
|
+
Set instance value for `Tatara::String`.
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
@s = Tatara::String.new
|
71
|
+
@s.val = "42"
|
72
|
+
# => Set "42"
|
73
|
+
```
|
74
|
+
|
75
|
+
### Tatara::String#value+=
|
76
|
+
|
77
|
+
Add and Set instance value for `Tatara::String`.
|
78
|
+
|
79
|
+
```ruby
|
80
|
+
@s = Tatara::String.new
|
81
|
+
@s.value = "21"
|
82
|
+
@s.value += "21"
|
83
|
+
# => Value is "2121"
|
84
|
+
@s.value += "21"
|
85
|
+
# => Value is "212121"
|
86
|
+
```
|
87
|
+
|
88
|
+
### Tatara::String#val+=
|
89
|
+
|
90
|
+
Add and Set instance value for `Tatara::String`.
|
91
|
+
|
92
|
+
```ruby
|
93
|
+
@s = Tatara::String.new
|
94
|
+
@s.val = "21"
|
95
|
+
@s.val += "21"
|
96
|
+
# => Value is "2121"
|
97
|
+
@s.val += "21"
|
98
|
+
# => Value is "212121"
|
99
|
+
```
|
100
|
+
|
101
|
+
### Tatara::String#value==
|
102
|
+
|
103
|
+
Check instance value, and return `Boolean`.
|
104
|
+
|
105
|
+
```ruby
|
106
|
+
@s = Tatara::String.new
|
107
|
+
@s.value = "42"
|
108
|
+
puts @s.value == "42"
|
109
|
+
# => true
|
110
|
+
puts @s.value == "62"
|
111
|
+
# => false
|
112
|
+
```
|
113
|
+
|
114
|
+
### Tatara::String#val==
|
115
|
+
|
116
|
+
Check instance value, and return `Boolean`.
|
117
|
+
|
118
|
+
```ruby
|
119
|
+
@s = Tatara::String.new
|
120
|
+
@s.val = "42"
|
121
|
+
puts @s.val == "42"
|
122
|
+
# => true
|
123
|
+
puts @s.val == "62"
|
124
|
+
# => false
|
125
|
+
```
|
126
|
+
|
127
|
+
### Tatara::String#equal?
|
128
|
+
|
129
|
+
Check instance value, and return `Boolean`.
|
130
|
+
|
131
|
+
```ruby
|
132
|
+
@s = Tatara::String.new
|
133
|
+
@s.val = "42"
|
134
|
+
puts @s.equal? "42"
|
135
|
+
# => true
|
136
|
+
puts @s.equal? "62"
|
137
|
+
# => false
|
138
|
+
```
|
139
|
+
|
140
|
+
### Tatara::String#to_i
|
141
|
+
|
142
|
+
Convert to `Integer` for instance value.
|
143
|
+
|
144
|
+
```ruby
|
145
|
+
@s = Tatara::String.new
|
146
|
+
@s.val = "42"
|
147
|
+
@s.to_i
|
148
|
+
# => Conver to Integer.
|
149
|
+
```
|
150
|
+
|
151
|
+
### Tatara::String#to_f
|
152
|
+
|
153
|
+
Convert to `Float` for instance value.
|
154
|
+
|
155
|
+
```ruby
|
156
|
+
@s = Tatara::String.new
|
157
|
+
@s.val = "4.2"
|
158
|
+
@s.to_f
|
159
|
+
# => Convert to Float.
|
160
|
+
```
|
161
|
+
|
162
|
+
### Tatara::String#clear
|
163
|
+
|
164
|
+
Clear instance value.
|
165
|
+
|
166
|
+
```ruby
|
167
|
+
@s = Tatara::String.new
|
168
|
+
@s.val = "42"
|
169
|
+
# => Set "42"
|
170
|
+
@s.clear
|
171
|
+
# => Clear instance value. Value is ""
|
172
|
+
```
|
173
|
+
|
174
|
+
### Tatara::String#operator<<
|
175
|
+
|
176
|
+
Set instance value for `Tatara::String`.
|
177
|
+
|
178
|
+
```ruby
|
179
|
+
@s = Tatara::String.new << "42"
|
180
|
+
puts @s.val
|
181
|
+
# => "42"
|
182
|
+
@s = @s << "50"
|
183
|
+
puts @s.val
|
184
|
+
# => "50"
|
185
|
+
```
|
186
|
+
|
187
|
+
### Tatara::String#\[\]
|
188
|
+
|
189
|
+
Access by Index.
|
190
|
+
|
191
|
+
```ruby
|
192
|
+
@s = Tatara::String.new
|
193
|
+
@s <<= "hello"
|
194
|
+
puts @s[0]
|
195
|
+
# => "h"
|
196
|
+
puts @s[1]
|
197
|
+
# => "e"
|
198
|
+
```
|
199
|
+
|
200
|
+
### Tatara::String#slice
|
201
|
+
|
202
|
+
Slice `Tatara::String` value.
|
203
|
+
|
204
|
+
```ruby
|
205
|
+
@s = Tatara::String.new
|
206
|
+
@s <<= "hello"
|
207
|
+
puts @s.slice(0, 3)
|
208
|
+
# => "hel"
|
209
|
+
puts @s.slice(0, 4)
|
210
|
+
# => "hell"
|
211
|
+
```
|
212
|
+
|
213
|
+
### Tatara::String#slice!
|
214
|
+
|
215
|
+
Slice `Tatara::String` value, and Reset sliced value.
|
216
|
+
|
217
|
+
```ruby
|
218
|
+
@s = Tatara::String.new
|
219
|
+
@s <<= "hello"
|
220
|
+
@s.slice!(0, 3)
|
221
|
+
puts @s.val
|
222
|
+
# => "hel"
|
223
|
+
```
|
@@ -0,0 +1,254 @@
|
|
1
|
+
# Tatara::StringArray
|
2
|
+
## About
|
3
|
+
|
4
|
+
`Tatara::StringArray` is `Array` class like `static type programming lang`.
|
5
|
+
|
6
|
+
`Tatara::StringArray` use `String` value.
|
7
|
+
But, you can not use `Integer` & `Float` for value.
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
@s = Tatara::StringArray.new
|
11
|
+
@s[0] = "42"
|
12
|
+
# => Set value "42" for index of 0.
|
13
|
+
@s[1] = "8.4"
|
14
|
+
# => Set value "8.4" for index of 1.
|
15
|
+
```
|
16
|
+
|
17
|
+
But, can not use `Integer` & `Float` for value.
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
@s = Tatara::StringArray.new
|
21
|
+
@s[0] = 42
|
22
|
+
# => Error!
|
23
|
+
```
|
24
|
+
|
25
|
+
## Methods
|
26
|
+
### Tatara::StringArray#new
|
27
|
+
|
28
|
+
Create new `Tatara::StringArray` instance.
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
@s = Tatara::StringArray.new
|
32
|
+
```
|
33
|
+
|
34
|
+
### Tatara::StringArray#\[\]
|
35
|
+
|
36
|
+
Access by index.
|
37
|
+
|
38
|
+
```ruby
|
39
|
+
@s = Tatara::StringArray.new
|
40
|
+
@s[0] = "42"
|
41
|
+
puts @s[0]
|
42
|
+
# => "42"
|
43
|
+
```
|
44
|
+
|
45
|
+
### Tatara::StringArray#\[\]=
|
46
|
+
|
47
|
+
Set value by index.
|
48
|
+
|
49
|
+
```ruby
|
50
|
+
@s = Tatara::StringArray.new
|
51
|
+
@s[0] = "42"
|
52
|
+
# => Set value "42" for index of 0.
|
53
|
+
```
|
54
|
+
|
55
|
+
### Tatara::StringArray#push
|
56
|
+
|
57
|
+
Create new value on end of `Tatara::StringArray`.
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
@s = Tatara::StringArray.new
|
61
|
+
@s.push("42")
|
62
|
+
# => Set value "42" on end of `Tatara::StringArray`
|
63
|
+
```
|
64
|
+
|
65
|
+
### Tatara::StringArray#size
|
66
|
+
|
67
|
+
Size of `Tatara::StringArray`.
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
@s = Tatara::StringArray.new
|
71
|
+
puts @s.size
|
72
|
+
# => 0
|
73
|
+
@s.push("42")
|
74
|
+
puts @s.size
|
75
|
+
# => 1
|
76
|
+
```
|
77
|
+
|
78
|
+
### Tatara::StringArray#clear
|
79
|
+
|
80
|
+
Clear `Tatara::StringArray`.
|
81
|
+
|
82
|
+
```ruby
|
83
|
+
@s = Tatara::StringArray.new
|
84
|
+
@s.push("42")
|
85
|
+
puts @s.size
|
86
|
+
# => 1
|
87
|
+
@s.clear
|
88
|
+
puts @s.size
|
89
|
+
# => 0
|
90
|
+
```
|
91
|
+
### Tatara::StringArray#operator<<
|
92
|
+
|
93
|
+
Create new value on end of `Tatara::StringArray`.
|
94
|
+
|
95
|
+
```ruby
|
96
|
+
@s = Tatara::StringArray.new
|
97
|
+
@s << "42"
|
98
|
+
# => Set value "42" on end of `Tatara::StringArray`
|
99
|
+
```
|
100
|
+
|
101
|
+
### Tatara::StringArray#map
|
102
|
+
|
103
|
+
`map` method for `Tatara::StringArray`.
|
104
|
+
It's likes `Array#map`
|
105
|
+
|
106
|
+
```ruby
|
107
|
+
@s = Tatara::StringArray.new
|
108
|
+
("A".."C").each{|s| @s << s }
|
109
|
+
# => Set new value's
|
110
|
+
@s.map{|s|
|
111
|
+
puts s
|
112
|
+
}
|
113
|
+
# => A B C
|
114
|
+
```
|
115
|
+
|
116
|
+
### Tatara::StringArray#map!
|
117
|
+
|
118
|
+
`map!` method for `Tatara::StringArray`.
|
119
|
+
It's likes `Array#map!`
|
120
|
+
|
121
|
+
```ruby
|
122
|
+
@s = Tatara::StringArray.new
|
123
|
+
("A".."C").each{|s| @s << s }
|
124
|
+
# => Set new value's
|
125
|
+
@s.map!{|s| s.succ }
|
126
|
+
@s.map{|s|
|
127
|
+
puts s
|
128
|
+
}
|
129
|
+
# => B C D
|
130
|
+
```
|
131
|
+
|
132
|
+
### Tatara::StringArray#each
|
133
|
+
|
134
|
+
`each` method for `Tatara::StringArray`.
|
135
|
+
It's likes `Array#each`
|
136
|
+
|
137
|
+
```ruby
|
138
|
+
@s = Tatara::StringArray.new
|
139
|
+
("A".."C").each{|s| @s << s }
|
140
|
+
# => Set new value's
|
141
|
+
@s.each{|s|
|
142
|
+
puts s
|
143
|
+
}
|
144
|
+
# => A B C
|
145
|
+
```
|
146
|
+
|
147
|
+
### Tatara::StringArray#each_with_index
|
148
|
+
|
149
|
+
`each_with_index` method for `Tatara::StringArray`.
|
150
|
+
It's likes `Array#each_with_index`
|
151
|
+
|
152
|
+
```ruby
|
153
|
+
@s = Tatara::StringArray.new
|
154
|
+
("A".."C").each{|s| @s << s }
|
155
|
+
# => Set new value's
|
156
|
+
@s.each_with_index{|v, i|
|
157
|
+
puts "#{i}:#{v}"
|
158
|
+
}
|
159
|
+
# => 1:A 2:B 3:C
|
160
|
+
```
|
161
|
+
|
162
|
+
### Tatara::StringArrayr#intersection
|
163
|
+
|
164
|
+
Intersection value's
|
165
|
+
|
166
|
+
```ruby
|
167
|
+
@s1 = Tatara::StringArray.new
|
168
|
+
("A".."C").each{|s| @s1 << s}
|
169
|
+
@s2 = Tatara::StringArray.new
|
170
|
+
("C".."F").each{|s| @s2 << s}
|
171
|
+
@s = @s1.intersection @s2
|
172
|
+
# => ["C"]
|
173
|
+
```
|
174
|
+
|
175
|
+
### Tatara::StringArray#operator&
|
176
|
+
|
177
|
+
Intersection value's
|
178
|
+
|
179
|
+
```ruby
|
180
|
+
@s1 = Tatara::StringArray.new
|
181
|
+
("A".."C").each{|s| @s1 << s}
|
182
|
+
@s2 = Tatara::StringArray.new
|
183
|
+
("C".."F").each{|s| @s2 << s}
|
184
|
+
@s = @s1 & @s2
|
185
|
+
# => ["C"]
|
186
|
+
```
|
187
|
+
|
188
|
+
### Tatara::StringArray#sort
|
189
|
+
|
190
|
+
Sort value's.
|
191
|
+
|
192
|
+
```ruby
|
193
|
+
@s = Tatara::StringArray.new
|
194
|
+
["9", "1", "4"].each{|s| @s << s }
|
195
|
+
@s = @s.sort
|
196
|
+
# => ["1", "4", "9"]
|
197
|
+
```
|
198
|
+
|
199
|
+
### Tatara::StringArray#sort!
|
200
|
+
|
201
|
+
Sort value's.
|
202
|
+
|
203
|
+
```ruby
|
204
|
+
@s = Tatara::StringArray.new
|
205
|
+
["9", "1", "4"].each{|s| @s << s }
|
206
|
+
@s.sort!
|
207
|
+
# => ["1", "4", "9"]
|
208
|
+
```
|
209
|
+
|
210
|
+
### Tatara::StringArray#reverse
|
211
|
+
|
212
|
+
Reverse value's.
|
213
|
+
|
214
|
+
```ruby
|
215
|
+
@s = Tatara::StringArray.new
|
216
|
+
["9", "1", "4"].each{|s| @s << s }
|
217
|
+
@s = @s.reverse
|
218
|
+
# => ["4", "1", "9"]
|
219
|
+
```
|
220
|
+
|
221
|
+
### Tatara::StringArray#reverse!
|
222
|
+
|
223
|
+
Reverse value's.
|
224
|
+
|
225
|
+
```ruby
|
226
|
+
@s = Tatara::StringArray.new
|
227
|
+
["9", "1", "4"].each{|s| @s << s }
|
228
|
+
@s.reverse!
|
229
|
+
# => ["4", "1", "9"]
|
230
|
+
```
|
231
|
+
|
232
|
+
### Tatara::StringArray#first
|
233
|
+
|
234
|
+
Get first value of `Tatara::StringArray`.
|
235
|
+
|
236
|
+
```ruby
|
237
|
+
@s = Tatara::StringArray.new
|
238
|
+
("A".."C").each{|s| @s << s }
|
239
|
+
# => Set new value's
|
240
|
+
puts @s.first
|
241
|
+
# => "A"
|
242
|
+
```
|
243
|
+
|
244
|
+
### Tatara::StringArray#last
|
245
|
+
|
246
|
+
Get last value of `Tatara::StringArray`.
|
247
|
+
|
248
|
+
```ruby
|
249
|
+
@s = Tatara::StringArray.new
|
250
|
+
("A".."C").each{|s| @s << s }
|
251
|
+
# => Set new value's
|
252
|
+
puts @s.last
|
253
|
+
# => "C"
|
254
|
+
```
|