Add Type to Ruby!
This project is maintained by S-H-GAMELINKS
Tatara::StringVector
is Vector
class like static type programming lang
.
Tatara::StringVector
use String
value.
But, you can not use Integer
& Float
for value.
@s = Tatara::StringVector.new
@s[0] = "42"
# => Set value "42" for index of 0.
@s[1] = "8.4"
# => Set value "8.4" for index of 1.
But, can not use Integer
& Float
for value.
@s = Tatara::StringVector.new
@s[0] = 42
# => Error!
Create new Tatara::StringVector
instance.
@s = Tatara::StringVector.new
Access by index.
@s = Tatara::StringVector.new
@s[0] = "42"
puts @s[0]
# => "42"
Set value by index.
@s = Tatara::StringVector.new
@s[0] = "42"
# => Set value "42" for index of 0.
Create new value on end of Tatara::StringVector
.
@s = Tatara::StringVector.new
@s.emplace_back("42")
# => Set value "42" on end of `Tatara::StringVector`
Size of Tatara::StringVector
.
@s = Tatara::StringVector.new
puts @s.size
# => 0
@s.emplace_back("42")
puts @s.size
# => 1
Clear Tatara::StringVector
.
@s = Tatara::StringVector.new
@s.emplace_back("42")
puts @s.size
# => 1
@s.clear
puts @s.size
# => 0
Sum value’s for Tatara::StringVector
.
@s = Tatara::StringVector.new
("A".."C").each{|s|
@s.emplace_back(s)
}
puts @s.sum
# => "ABC"
Create new value on end of Tatara::StringVector
.
@s = Tatara::StringVector.new
@s << "42"
# => Set value "42" on end of `Tatara::StringVector`
map
method for Tatara::StringVector
.
It’s likes Array#map
@s = Tatara::StringVector.new
("A".."C").each{|s| @s << s }
# => Set new value's
@s.map{|s|
puts s
}
# => A B C
map!
method for Tatara::StringVector
.
It’s likes Array#map!
@s = Tatara::StringVector.new
("A".."C").each{|s| @s << s }
# => Set new value's
@s.map!{|s| s.succ }
@s.map{|s|
puts s
}
# => B C D
each
method for Tatara::StringVector
.
It’s likes Array#each
@s = Tatara::StringVector.new
("A".."C").each{|s| @s << s }
# => Set new value's
@s.each{|s|
puts s
}
# => A B C
each_with_index
method for Tatara::StringVector
.
It’s likes Array#each_with_index
@s = Tatara::StringVector.new
("A".."C").each{|s| @s << s }
# => Set new value's
@s.each_with_index{|v, i|
puts "#{i}:#{v}"
}
# => 1:A 2:B 3:C
Intersection value’s
@s1 = Tatara::StringVector.new
("A".."C").each{|s| @s1 << s}
@s2 = Tatara::StringVector.new
("C".."F").each{|s| @s2 << s}
@s = @s1.intersection @s2
# => ["C"]
Intersection value’s
@s1 = Tatara::StringVector.new
("A".."C").each{|s| @s1 << s}
@s2 = Tatara::StringVector.new
("C".."F").each{|s| @s2 << s}
@s = @s1 & @s2
# => ["C"]
Sort value’s.
@s = Tatara::StringVector.new
["9", "1", "4"].each{|s| @s << s }
@s = @s.sort
# => ["1", "4", "9"]
Sort value’s.
@s = Tatara::StringVector.new
["9", "1", "4"].each{|s| @s << s }
@s.sort!
# => ["1", "4", "9"]
Reverse value’s.
@s = Tatara::StringVector.new
["9", "1", "4"].each{|s| @s << s }
@s = @s.reverse
# => ["4", "1", "9"]
Reverse value’s.
@s = Tatara::StringVector.new
["9", "1", "4"].each{|s| @s << s }
@s.reverse!
# => ["4", "1", "9"]
Remove duplicate in Tatara::StringVector
.
@s = Tatara::StringVector.new
["1", "3", "4", "1"].each{|s| @s << s }
@s = @s.uniq
# => Remove duplicate!
@s.each{|s| puts s }
# => 1, 3, 4
Remove destructive duplicate in Tatara::StringVector
.
@s = Tatara::StringVector.new
["1", "3", "4", "1"].each{|s| @s << s }
@s.uniq!
# => Remove duplicate!
@s.each{|s| puts s }
# => 1, 3, 4
Slice value’s’ in Tatara::StringVector
.
@s = Tatara::StringVector.new
["1", "2", "3", "4", "5"].each{|s| @s << s}
@s = @s.slice(1, 3)
# => Slice value
@s.each{|s| puts s }
# => 2, 3, 4
Destructive Slice value’s’ in Tatara::StringVector
.
@s = Tatara::StringVector.new
["1", "2", "3", "4", "5"].each{|s| @s << s}
@s.slice!(1, 3)
# => Slice value
@s.each{|s| puts s }
# => 2, 3, 4
Get first value of Tatara::StringVector
.
@s = Tatara::StringVector.new
("A".."C").each{|s| @s << s }
# => Set new value's
puts @s.first
# => A
Get last value of Tatara::StringVector
.
@s = Tatara::StringVector.new
("A".."C").each{|s| @s << s }
# => Set new value's
puts @s.last
# => "C"
Convert to Array
from Tatara::StringVector
.
@s = Tatara::StringVector.new
("A".."C").each{|s| @s << s }
# => Set new value's
puts @s.to_array
# => A, B, C
Convert to JSON
from Tatara::StringVector
.
@s = Tatara::StringArray.new
("A".."C").each{|s| @s << s}
# => Set new value's
puts @s.to_json
# => Convert to JSON
Import to Array
from Tatara::StringVector
.
@s = Tatara::StringArray.new
@s.import_array ["A", "B", "C"]
# => Set new value's
Import to JSON
from Tatara::StringVector
.
@s = Tatara::StringVector.new
@s.import_json "[\"A\", \"B\", \"C\"]"
# => Set new value's ["A", "B", "C"]