William James
1/7/2007 8:15:00 AM
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