From: Gregory Millam Date: 2004-01-13T13:16:19+09:00 Subject: Re: Getting the tail of a list? > class Array > def rest() > self[1..self.length] > end > end This creates a duplicate of the list, and if you're simulating tail recursion with that it might not necessarily be what you want a = [1,2,3,4,5] c = a.shift p c #=> 3 p a #=> [2,3,4,5] Using list.include?(name) is probably better, but for reference, you can use shift for something like this: def guest(name,list) if list.empty? :no elsif name == list.shift :yes else guest(name, list) end end For that matter, didn't someone discuss adding c[ad]+r functions using undefined_method? Using regexp and iterating to allow even insane amounts like caddaaaddar or so - Greg Millam