Claus Guttesen wrote: > Hi. > > I need to get the last three characters in a string. I couldn't find a > function in the String class so I came up with this: > > class Remainder > > attr_writer :n > > def initialize(t = "", n = 0) > @t = t.to_s > @n = n.to_i > end > > def get > get_remaining_letters > end > > private > def get_remaining_letters > s = @t.size > if s < @n > r = 0 > else > r = s - @n > end > > ft = @t.slice(r, @n) > end > > end > > > t = Remainder.new("Guttesen", 5) > puts t.get > tesen > t.n = 4 > puts t.get > esen > > Did I reinvent the wheel or does it make sense to add it to String? > > regards > Claus If the length of the string is less than 3, the entire string will be returned. s = "ab" s[ /.{0,3}$/ ] s[-3,3] || s