Google

def peek depth=0 raise 'Illegal argument "#{depth}"' if depth < -1 temp = [] if depth == -1 temp.push(self.next) until empty? else while @stack.size+temp.size < depth+1 temp.push(self.next) end end @stack += temp if temp.size > 0 @stack[depth] end