class Basic101::BasicString
Attributes
value[R]
Public Class Methods
new(value)
click to toggle source
# File lib/basic101/basic_string.rb, line 12 def initialize(value) @value = value.to_s end
Public Instance Methods
+(other)
click to toggle source
# File lib/basic101/basic_string.rb, line 68 def +(other) BasicString.new(value + other.to_string.value) end
<=>(other)
click to toggle source
# File lib/basic101/basic_string.rb, line 16 def <=>(other) return nil unless other.is_a?(self.class) value <=> other.value end
asc()
click to toggle source
# File lib/basic101/basic_string.rb, line 72 def asc raise InvalidArgumentError if @value.empty? BasicInteger.new(@value.chars.first.ord) end
left(count)
click to toggle source
# File lib/basic101/basic_string.rb, line 33 def left(count) count = count.to_i if count < 0 raise InvalidArgumentError end BasicString.new(@value[0...count]) end
length()
click to toggle source
# File lib/basic101/basic_string.rb, line 50 def length BasicInteger.new(@value.size) end
mid(start, count = nil)
click to toggle source
# File lib/basic101/basic_string.rb, line 54 def mid(start, count = nil) start = start.to_i count = count && count.to_i raise InvalidArgumentError if start < 1 raise InvalidArgumentError if count && count < 1 start -= 1 substring = if count @value[start, count] else @value[start..-1] end self.class.new(substring) end
print_new_line(output)
click to toggle source
# File lib/basic101/basic_string.rb, line 25 def print_new_line(output) output.print "\n" end
print_string(output)
click to toggle source
# File lib/basic101/basic_string.rb, line 21 def print_string(output) output.print @value end
right(count)
click to toggle source
# File lib/basic101/basic_string.rb, line 41 def right(count) count = count.to_i if count < 0 raise InvalidArgumentError end substring = @value[/.{0,#{count}}$/] BasicString.new(substring) end
str()
click to toggle source
# File lib/basic101/basic_string.rb, line 81 def str self end
to_string()
click to toggle source
# File lib/basic101/basic_string.rb, line 29 def to_string self end
val()
click to toggle source
# File lib/basic101/basic_string.rb, line 77 def val BasicFloat.new(@value.to_f).simplest end