tatara 0.2.0 → 0.3.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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +17 -1
  3. data/.gitignore +1 -0
  4. data/Gemfile +0 -1
  5. data/Gemfile.lock +0 -2
  6. data/Makefile +11 -73
  7. data/README.md +2 -1
  8. data/docs/tatara/float_array.md +65 -0
  9. data/docs/tatara/float_vector.md +64 -0
  10. data/docs/tatara/integer_array.md +64 -0
  11. data/docs/tatara/integer_vector.md +64 -0
  12. data/docs/tatara/string_array.md +64 -0
  13. data/docs/tatara/string_vector.md +64 -0
  14. data/ext/tatara/array/array.hpp +5 -119
  15. data/ext/tatara/array/float/float_array.hpp +132 -0
  16. data/ext/tatara/array/integer/int_array.hpp +132 -0
  17. data/ext/tatara/array/string/string_array.hpp +133 -0
  18. data/ext/tatara/extconf.rb +1 -1
  19. data/ext/tatara/float/float.hpp +148 -0
  20. data/ext/tatara/integer/integer.hpp +164 -0
  21. data/ext/tatara/map/float/float_float_map.hpp +66 -0
  22. data/ext/tatara/map/float/float_int_map.hpp +66 -0
  23. data/ext/tatara/map/float/float_string_map.hpp +67 -0
  24. data/ext/tatara/map/integer/int_float_map.hpp +66 -0
  25. data/ext/tatara/map/integer/int_int_map.hpp +66 -0
  26. data/ext/tatara/map/integer/int_string_map.hpp +67 -0
  27. data/ext/tatara/map/map.hpp +14 -27
  28. data/ext/tatara/map/string/string_float_map.hpp +67 -0
  29. data/ext/tatara/map/string/string_int_map.hpp +67 -0
  30. data/ext/tatara/map/string/string_string_map.hpp +67 -0
  31. data/ext/tatara/string/string.hpp +105 -0
  32. data/ext/tatara/tatara.cpp +245 -244
  33. data/ext/tatara/vector/float/float_vector.hpp +132 -0
  34. data/ext/tatara/vector/integer/int_vector.hpp +132 -0
  35. data/ext/tatara/vector/string/string_vector.hpp +133 -0
  36. data/ext/tatara/vector/vector.hpp +4 -0
  37. data/lib/tatara/array/array.rb +73 -0
  38. data/lib/tatara/vector/vector.rb +77 -0
  39. data/lib/tatara/version.rb +1 -1
  40. data/tatara.gemspec +1 -0
  41. metadata +31 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c964d33173779d12d1d5d9b123868c6bda08d36769fe2ecfeec7465128295edb
4
- data.tar.gz: 5f3ae65abc2df990f0f7cb47d0c1299887b4e4edd5ff7344082dcec0c989755e
3
+ metadata.gz: 0d6932eb100195cd4f6c8f5043859236e73e46f25a31653f602bcbb89ba37960
4
+ data.tar.gz: c260336b4634a873cd2916f4dcf941c781240677e69faa81554df1acd19d6bb5
5
5
  SHA512:
6
- metadata.gz: 59dddbcc78177d0534e04980ee0e8eb47f8579ab327349e3cf04ed032292320361add3f71d7bd85ed802d7d2750ad1b2f03441afa7cf6347d8bbe119981064ed
7
- data.tar.gz: 45aac009388ae50963f479094483738a50ee3d9cfd24311702640cd9c0feeaef2779d3b9685fe46b56272a9df49737eeedcbb6a5cc45b84808bf9567a847ea67
6
+ metadata.gz: c0da08fbf1849854e20b7c33dcb60487885eed313b8bc446b50a9c20f924ee88d32739e8cc72c6c1da279548ee5ba7da82219b79abf69b30811fc0134deeb0f0
7
+ data.tar.gz: 931c989d75f9bf306e808e3327e8bffd876e4b569f24452ebde3310791c87d86b0ce86ee7d51081d99e806c7de90a3a5a9f5c06ec3acf2eba23daabf2f4c68c5
@@ -3,9 +3,17 @@ jobs:
3
3
  build:
4
4
  docker:
5
5
  - image: circleci/ruby:2.6.5
6
+ environment:
7
+ CC_TEST_REPORTER_ID: '1bc997946c470551ec0f384e37c5646f12d924d9ab98251809a7d6baf5154445'
6
8
  steps:
7
9
  - checkout
8
10
 
11
+ - run:
12
+ name: Setup Code Climate test-reporter
13
+ command: |
14
+ curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
15
+ chmod +x ./cc-test-reporter
16
+
9
17
  - run:
10
18
  name: install bundler
11
19
  command: gem install bundler
@@ -18,6 +26,14 @@ jobs:
18
26
  name: compile
19
27
  command: rake compile
20
28
 
29
+ - run:
30
+ name: before-build
31
+ command: ./cc-test-reporter before-build
32
+
21
33
  - run:
22
34
  name: test
23
- command: rake test
35
+ command: rake test
36
+
37
+ - run:
38
+ name: after-build
39
+ command: ./cc-test-reporter after-build --coverage-input-type simplecov --exit-code $?
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /lib/tatara/tatara.so
10
+ Makefile
data/Gemfile CHANGED
@@ -3,7 +3,6 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in tatara.gemspec
4
4
  gemspec
5
5
 
6
- gem "rice"
7
6
  gem "rake-compiler"
8
7
 
9
8
  # Using Benchmark Driver
@@ -11,7 +11,6 @@ GEM
11
11
  rake (10.5.0)
12
12
  rake-compiler (1.0.7)
13
13
  rake
14
- rice (2.1.3)
15
14
 
16
15
  PLATFORMS
17
16
  ruby
@@ -22,7 +21,6 @@ DEPENDENCIES
22
21
  minitest (~> 5.0)
23
22
  rake (~> 10.0)
24
23
  rake-compiler
25
- rice
26
24
  tatara!
27
25
 
28
26
  BUNDLED WITH
data/Makefile CHANGED
@@ -12,109 +12,65 @@ NULLCMD = :
12
12
  #### Start of system configuration section. ####
13
13
 
14
14
  srcdir = ext/tatara
15
- topdir = /home/sh/.rbenv/versions/2.6.3/include/ruby-2.6.0
15
+ topdir = /home/sh/.rbenv/versions/2.6.5/include/ruby-2.6.0
16
16
  hdrdir = $(topdir)
17
- arch_hdrdir = /home/sh/.rbenv/versions/2.6.3/include/ruby-2.6.0/x86_64-linux
17
+ arch_hdrdir = /home/sh/.rbenv/versions/2.6.5/include/ruby-2.6.0/x86_64-linux
18
18
  PATH_SEPARATOR = :
19
19
  VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
20
-
21
- prefix = $(DESTDIR)/home/sh/.rbenv/versions/2.6.3
22
-
20
+ prefix = $(DESTDIR)/home/sh/.rbenv/versions/2.6.5
23
21
  rubysitearchprefix = $(rubylibprefix)/$(sitearch)
24
-
25
22
  rubyarchprefix = $(rubylibprefix)/$(arch)
26
-
27
23
  rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
28
-
29
24
  exec_prefix = $(prefix)
30
-
31
25
  vendorarchhdrdir = $(vendorhdrdir)/$(sitearch)
32
-
33
26
  sitearchhdrdir = $(sitehdrdir)/$(sitearch)
34
-
35
27
  rubyarchhdrdir = $(rubyhdrdir)/$(arch)
36
-
37
28
  vendorhdrdir = $(rubyhdrdir)/vendor_ruby
38
-
39
29
  sitehdrdir = $(rubyhdrdir)/site_ruby
40
-
41
30
  rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
42
-
43
31
  vendorarchdir = $(vendorlibdir)/$(sitearch)
44
-
45
32
  vendorlibdir = $(vendordir)/$(ruby_version)
46
-
47
33
  vendordir = $(rubylibprefix)/vendor_ruby
48
-
49
34
  sitearchdir = $(sitelibdir)/$(sitearch)
50
-
51
35
  sitelibdir = $(sitedir)/$(ruby_version)
52
-
53
36
  sitedir = $(rubylibprefix)/site_ruby
54
-
55
37
  rubyarchdir = $(rubylibdir)/$(arch)
56
-
57
38
  rubylibdir = $(rubylibprefix)/$(ruby_version)
58
-
59
39
  sitearchincludedir = $(includedir)/$(sitearch)
60
-
61
40
  archincludedir = $(includedir)/$(arch)
62
-
63
41
  sitearchlibdir = $(libdir)/$(sitearch)
64
-
65
42
  archlibdir = $(libdir)/$(arch)
66
-
67
43
  ridir = $(datarootdir)/$(RI_BASE_NAME)
68
-
69
44
  mandir = $(datarootdir)/man
70
-
71
45
  localedir = $(datarootdir)/locale
72
-
73
46
  libdir = $(exec_prefix)/lib
74
-
75
47
  psdir = $(docdir)
76
-
77
48
  pdfdir = $(docdir)
78
-
79
49
  dvidir = $(docdir)
80
-
81
50
  htmldir = $(docdir)
82
-
83
51
  infodir = $(datarootdir)/info
84
-
85
52
  docdir = $(datarootdir)/doc/$(PACKAGE)
86
-
87
53
  oldincludedir = $(DESTDIR)/usr/include
88
-
89
54
  includedir = $(prefix)/include
90
-
55
+ runstatedir = $(localstatedir)/run
91
56
  localstatedir = $(prefix)/var
92
-
93
57
  sharedstatedir = $(prefix)/com
94
-
95
58
  sysconfdir = $(prefix)/etc
96
-
97
59
  datadir = $(datarootdir)
98
-
99
60
  datarootdir = $(prefix)/share
100
-
101
61
  libexecdir = $(exec_prefix)/libexec
102
-
103
62
  sbindir = $(exec_prefix)/sbin
104
-
105
63
  bindir = $(exec_prefix)/bin
106
-
107
64
  archdir = $(rubyarchdir)
108
65
 
109
66
 
110
-
111
67
  CC_WRAPPER =
112
68
  CC = gcc
113
69
  CXX = g++
114
70
  LIBRUBY = $(LIBRUBY_SO)
115
71
  LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
116
72
  LIBRUBYARG_SHARED = -Wl,-rpath,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)
117
- LIBRUBYARG_STATIC = -Wl,-rpath,/home/sh/.rbenv/versions/2.6.3/lib -L/home/sh/.rbenv/versions/2.6.3/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm
73
+ LIBRUBYARG_STATIC = -Wl,-rpath,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static $(MAINLIBS)
118
74
  empty =
119
75
  OUTFLAG = -o $(empty)
120
76
  COUTFLAG = -o $(empty)
@@ -131,31 +87,24 @@ CCDLFLAGS = -fPIC
131
87
  CFLAGS = $(CCDLFLAGS) $(cflags) -fPIC $(ARCH_FLAG)
132
88
  INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
133
89
  DEFS =
134
- CPPFLAGS = -I/home/sh/.rbenv/versions/2.6.3/include $(DEFS) $(cppflags) -I/home/sh/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rice-2.1.3/ruby/lib/include
135
- CXXFLAGS = $(CFLAGS) -Wall -g
136
- ldflags = -L. -L/home/sh/.rbenv/versions/2.6.3/lib -fstack-protector-strong -rdynamic -Wl,-export-dynamic -L/home/sh/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rice-2.1.3/ruby/lib/lib -lrice
137
- dldflags = -L/home/sh/.rbenv/versions/2.6.3/lib -Wl,--compress-debug-sections=zlib
90
+ CPPFLAGS = -I/home/sh/.rbenv/versions/2.6.5/include $(DEFS) $(cppflags)
91
+ CXXFLAGS = $(CCDLFLAGS) -Ofast -mtune=native -march=native -mfpmath=both -std=c++17 $(ARCH_FLAG)
92
+ ldflags = -L. -L/home/sh/.rbenv/versions/2.6.5/lib -fstack-protector-strong -rdynamic -Wl,-export-dynamic
93
+ dldflags = -L/home/sh/.rbenv/versions/2.6.5/lib -Wl,--compress-debug-sections=zlib
138
94
  ARCH_FLAG =
139
95
  DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
140
- LDSHARED = g++ -shared
96
+ LDSHARED = $(CC) -shared
141
97
  LDSHAREDXX = $(CXX) -shared
142
98
  AR = ar
143
99
  EXEEXT =
144
100
 
145
-
146
101
  RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
147
-
148
102
  RUBY_SO_NAME = ruby
149
-
150
103
  RUBYW_INSTALL_NAME =
151
-
152
104
  RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
153
-
154
105
  RUBYW_BASE_NAME = rubyw
155
-
156
106
  RUBY_BASE_NAME = ruby
157
107
 
158
-
159
108
  arch = x86_64-linux
160
109
  sitearch = $(arch)
161
110
  ruby_version = 2.6.0
@@ -176,9 +125,6 @@ TOUCH = exit >
176
125
  #### End of system configuration section. ####
177
126
 
178
127
  preload =
179
-
180
-
181
- CXX = g++
182
128
  libpath = . $(libdir)
183
129
  LIBPATH = -L. -L$(libdir) -Wl,-rpath,$(libdir)
184
130
  DEFFILE =
@@ -191,7 +137,7 @@ extout =
191
137
  extout_prefix =
192
138
  target_prefix = /tatara
193
139
  LOCAL_LIBS =
194
- LIBS = -Wl,-rpath,/home/sh/.rbenv/versions/2.6.3/lib -L/home/sh/.rbenv/versions/2.6.3/lib -lruby -lm -lc
140
+ LIBS = $(LIBRUBYARG_SHARED) -lm -lc
195
141
  ORIG_SRCS = tatara.cpp
196
142
  SRCS = $(ORIG_SRCS)
197
143
  OBJS = tatara.o
@@ -205,25 +151,17 @@ EXTSTATIC =
205
151
  STATIC_LIB =
206
152
 
207
153
  TIMESTAMP_DIR = .
208
-
209
154
  BINDIR = $(bindir)
210
-
211
155
  RUBYCOMMONDIR = $(sitedir)$(target_prefix)
212
-
213
156
  RUBYLIBDIR = $(sitelibdir)$(target_prefix)
214
-
215
157
  RUBYARCHDIR = $(sitearchdir)$(target_prefix)
216
-
217
158
  HDRDIR = $(rubyhdrdir)/ruby$(target_prefix)
218
-
219
159
  ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)
220
-
221
160
  TARGET_SO_DIR =
222
161
  TARGET_SO = $(TARGET_SO_DIR)$(DLLIB)
223
162
  CLEANLIBS = $(TARGET_SO)
224
163
  CLEANOBJS = *.o *.bak
225
164
 
226
-
227
165
  all: $(DLLIB)
228
166
  static: $(STATIC_LIB)
229
167
  .PHONY: all install static install-so install-rb
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # Tatara
2
+ [![Gem Version](https://badge.fury.io/rb/tatara.svg)](https://badge.fury.io/rb/tatara) [![CircleCI](https://circleci.com/gh/S-H-GAMELINKS/tatara/tree/master.svg?style=svg)](https://circleci.com/gh/S-H-GAMELINKS/tatara/tree/master) [![Test Coverage](https://api.codeclimate.com/v1/badges/0a4d91d453ab2466e2bc/test_coverage)](https://codeclimate.com/github/S-H-GAMELINKS/tatara/test_coverage) ![star](https://img.shields.io/github/stars/S-H-GAMELINKS/tatara) ![forks](https://img.shields.io/github/forks/S-H-GAMELINKS/tatara) ![license](https://img.shields.io/github/license/S-H-GAMELINKS/tatara) [![Maintainability](https://api.codeclimate.com/v1/badges/0a4d91d453ab2466e2bc/maintainability)](https://codeclimate.com/github/S-H-GAMELINKS/tatara/maintainability)
2
3
 
3
4
  Add Type to Ruby!
4
5
 
@@ -42,4 +43,4 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
42
43
 
43
44
  ## Contributing
44
45
 
45
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/tatara.
46
+ Bug reports and pull requests are welcome on GitHub at https://github.com/S-H-GAMELINKS/tatara.
@@ -231,6 +231,59 @@ Reverse value's.
231
231
  # => [4.0, 1.0, 9.0]
232
232
  ```
233
233
 
234
+ ### Tatara::FloatArray#uniq
235
+
236
+ Remove duplicate in `Tatara::FloatArray`.
237
+
238
+ ```ruby
239
+ @f = Tatara::FloatArray.new
240
+ [1, 3, 4, 1].each{|f| @f << f.to_f}
241
+ @f = @f.uniq
242
+ # => Remove duplicate!
243
+ @f.each{|f| puts f }
244
+ # => 1.0, 3.0, 4.0
245
+ ```
246
+
247
+
248
+ ### Tatara::FloatArray#uniq!
249
+
250
+ Remove destructive duplicate in `Tatara::FloatArray`.
251
+
252
+ ```ruby
253
+ @f = Tatara::FloatArray.new
254
+ [1, 3, 4, 1].each{|f| @f << f.to_f}
255
+ @f.uniq!
256
+ # => Remove duplicate!
257
+ @f.each{|f| puts f }
258
+ # => 1.0, 3.0, 4.0
259
+ ```
260
+
261
+ ### Tatara::FloatArray#slice
262
+
263
+ Slice value's' in `Tatara::FloatArray`.
264
+
265
+ ```ruby
266
+ @f = Tatara::FloatArray.new
267
+ [1, 2, 3, 4, 5].each{|f| @f << f.to_f}
268
+ @f = @f.slice(1, 3)
269
+ # => Slice value
270
+ @f.each{|f| puts f }
271
+ # => 2.0, 3.0, 4.0
272
+ ```
273
+
274
+ ### Tatara::FloatArray#slice!
275
+
276
+ Destructive Slice value's' in `Tatara::FloatArray`.
277
+
278
+ ```ruby
279
+ @f = Tatara::FloatArray.new
280
+ [1, 2, 3, 4, 5].each{|f| @f << f.to_f}
281
+ @f.slice!(1, 3)
282
+ # => Slice value
283
+ @f.each{|f| puts f }
284
+ # => 2.0, 3.0, 4.0
285
+ ```
286
+
234
287
  ### Tatara::FloatArray#first
235
288
 
236
289
  Get first value of `Tatara::FloatArray`.
@@ -253,4 +306,16 @@ Get last value of `Tatara::FloatArray`.
253
306
  # => Set new value's
254
307
  puts @f.last
255
308
  # => 3.0
309
+ ```
310
+
311
+ ### Tatara::FloatArray#to_array
312
+
313
+ Convert to `Array` from `Tatara::FloatArray`.
314
+
315
+ ```ruby
316
+ @f = Tatara::FloatArray.new
317
+ (1..3).each{|f| @f << f.to_f }
318
+ # => Set new value's
319
+ puts @f.to_array
320
+ # => 1.0, 2.0, 3.0
256
321
  ```
@@ -244,6 +244,58 @@ Reverse value's.
244
244
  # => [4.0, 1.0, 9.0]
245
245
  ```
246
246
 
247
+ ### Tatara::FloatVector#uniq
248
+
249
+ Remove duplicate in `Tatara::FloatVector`.
250
+
251
+ ```ruby
252
+ @f = Tatara::FloatVector.new
253
+ [1, 3, 4, 1].each{|f| @f << f.to_f}
254
+ @f = @f.uniq
255
+ # => Remove duplicate!
256
+ @f.each{|f| puts f }
257
+ # => 1.0, 3.0, 4.0
258
+ ```
259
+
260
+ ### Tatara::FloatVector#uniq!
261
+
262
+ Remove destructive duplicate in `Tatara::FloatVector`.
263
+
264
+ ```ruby
265
+ @f = Tatara::FloatVector.new
266
+ [1, 3, 4, 1].each{|f| @f << f.to_f}
267
+ @f.uniq!
268
+ # => Remove duplicate!
269
+ @f.each{|f| puts f }
270
+ # => 1.0, 3.0, 4.0
271
+ ```
272
+
273
+ ### Tatara::FloatVector#slice
274
+
275
+ Slice value's' in `Tatara::FloatVector`.
276
+
277
+ ```ruby
278
+ @f = Tatara::FloatVector.new
279
+ [1, 2, 3, 4, 5].each{|f| @f << f.to_f}
280
+ @f = @f.slice(1, 3)
281
+ # => Slice value
282
+ @f.each{|f| puts f }
283
+ # => 2.0, 3.0, 4.0
284
+ ```
285
+
286
+ ### Tatara::FloatVector#slice!
287
+
288
+ Destructive Slice value's' in `Tatara::FloatVector`.
289
+
290
+ ```ruby
291
+ @f = Tatara::FloatVector.new
292
+ [1, 2, 3, 4, 5].each{|f| @f << f.to_f}
293
+ @f.slice!(1, 3)
294
+ # => Slice value
295
+ @f.each{|f| puts f }
296
+ # => 2.0, 3.0, 4.0
297
+ ```
298
+
247
299
  ### Tatara::FloatVector#first
248
300
 
249
301
  Get first value of `Tatara::FloatVector`.
@@ -266,4 +318,16 @@ Get last value of `Tatara::FloatVector`.
266
318
  # => Set new value's
267
319
  puts @f.last
268
320
  # => 3.0
321
+ ```
322
+
323
+ ### Tatara::FloatVector#to_array
324
+
325
+ Convert to `Array` from `Tatara::FloatVector`.
326
+
327
+ ```ruby
328
+ @f = Tatara::FloatVector.new
329
+ (1..3).each{|f| @f << f.to_f }
330
+ # => Set new value's
331
+ puts @f.to_array
332
+ # => 1.0, 2.0, 3.0
269
333
  ```
@@ -231,6 +231,58 @@ Reverse value's.
231
231
  # => [4, 1, 9]
232
232
  ```
233
233
 
234
+ ### Tatara::IntArray#uniq
235
+
236
+ Remove duplicate in `Tatara::IntArray`.
237
+
238
+ ```ruby
239
+ @i = Tatara::IntArray.new
240
+ [1, 3, 4, 1].each{|i| @i << i}
241
+ @i = @i.uniq
242
+ # => Remove duplicate!
243
+ @i.each{|i| puts i }
244
+ # => 1, 3, 4
245
+ ```
246
+
247
+ ### Tatara::IntArray#uniq!
248
+
249
+ Remove destructive duplicate in `Tatara::IntArray`.
250
+
251
+ ```ruby
252
+ @i = Tatara::IntArray.new
253
+ [1, 3, 4, 1].each{|i| @i << i}
254
+ @i.uniq!
255
+ # => Remove duplicate!
256
+ @i.each{|i| puts i }
257
+ # => 1, 3, 4
258
+ ```
259
+
260
+ ### Tatara::IntArray#slice
261
+
262
+ Slice value's' in `Tatara::IntArray`.
263
+
264
+ ```ruby
265
+ @i = Tatara::IntArray.new
266
+ [1, 2, 3, 4, 5].each{|i| @i << i}
267
+ @i = @i.slice(1, 3)
268
+ # => Slice value
269
+ @i.each{|i| puts i }
270
+ # => 2, 3, 4
271
+ ```
272
+
273
+ ### Tatara::IntArray#slice!
274
+
275
+ Destructive Slice value's' in `Tatara::IntArray`.
276
+
277
+ ```ruby
278
+ @i = Tatara::IntArray.new
279
+ [1, 2, 3, 4, 5].each{|i| @i << i}
280
+ @i.slice!(1, 3)
281
+ # => Slice value
282
+ @i.each{|i| puts i }
283
+ # => 2, 3, 4
284
+ ```
285
+
234
286
  ### Tatara::IntArray#first
235
287
 
236
288
  Get first value of `Tatara::IntArray`.
@@ -253,4 +305,16 @@ Get last value of `Tatara::IntArray`.
253
305
  # => Set new value's
254
306
  puts @i.last
255
307
  # => 3
308
+ ```
309
+
310
+ ### Tatara::IntArray#to_array
311
+
312
+ Convert to `Array` from `Tatara::IntArray`.
313
+
314
+ ```ruby
315
+ @i = Tatara::IntArray.new
316
+ (1..3).each{|i| @i << i }
317
+ # => Set new value's
318
+ puts @i.to_array
319
+ # => 1, 2, 3
256
320
  ```