On Wed, Mar 12, 2008 at 3:19 PM, Fred Talpiot <fredistic / gmail.com> wrote:
>
>  unless true
>   puts "wrong wrong"
>  elsunless false
>   puts 'weird, but logical'
>  elsunless true
>   puts 'truly strange'
>  else
>   puts 'weirder yet'  # This is what pops out!
>  end
>

Ruby is an interpreted language, so it ignores your "unless true" part
and doesn't parse what's after it until the "else". Your code should
look like that:
unless true
    puts "wrong wrong"
    elsunless false
    puts 'weird, but logical'
    elsunless true
    puts 'truly strange'
else
    puts 'weirder yet'  # This is what pops out!
end

Nobu is right. Try "unless false" instead of "unless true" and you'll
get a NameError