Just Another Victim of the Ambient Morality wrote: > "David A. Black" <dblack / rubypal.com> wrote in message > news:alpine.LFD.2.00.0910300803050.7908 / rubypal.com... >> On Fri, 30 Oct 2009, Bertram Scharpf wrote: >>> Am Freitag, 30. Okt 2009, 13:25:05 +0900 schrieb Michael W. Ryder: >>>> Michael W. Ryder wrote: >>>>> Just Another Victim of the Ambient Morality wrote: >>>>>> I'm actually hoping this is an embarrassing question but how do >>>>>> you >>>>>> get the tail end of a string? All I've figured out is this: >>>>>> >>>>>> index = 4 >>>>>> string[index, string.size - index] >>>>>> >>>>>> ...but surely there's a better way. >>>>>> >>>>> You mean like string[-1]? >>>> I'm sorry, I missed the part about the index number of characters. Try >>>> string[-index, index]. >>> That's really ugly. You shouldn't have to mention `index' twice. >> I don't think there's anything wrong with it. It works well, and >> there's nothing stylistically wrong with using a local variable twice. >> If index is a method that does a (re)calculation every time, you'd >> want to cache it, but that's not the case in the example. > > There's nothing wrong with it other than it doesn't work. What method doesn't work? If you mean the string[-index, index] method it does work fine for me. I am using 1.9.1 if that makes any difference. The string[-index..-1] method does the same thing but I have used Business Basic for over 20 years so my method was easier for me. As others > have pointed out, it's: > > string[-index..-1] > > However, I'm more concerned with your general attitude about language > structure. Even if it did work, you can say the same thing for my original > solution: > > string[index, string.size - index] > > It works well... except that it uses both index _and_ string variables > twice. > Am Freitag is right. It would be better if there were some method of > getting the tail end of a string by only mentioning the needed parameters > once. I'm very surprised that Ruby does not have this level of > expressiveness... > >