Forum: Ruby An error I can't find

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Zouplaz (Guest)
on 2007-06-19 15:06
(Received via mailing list)
Hello, there's certainly a monstrous error I don't see in :
<% for i in @news %>
  <% if dern_cat != i.categorie %>
   <% case i.categorie %>
   <% end %>
  <% end %>
<% end %>

I've removed all the code I could and don't understand why the case
i.categorie produce a syntax error, unexpected tIDENTIFIER, expecting
kWHEN

What is that syntax error ?

Thank you
David Garton (Guest)
on 2007-06-19 15:40
(Received via mailing list)
This is just what I found, maybe it'll help:

  http://www.ruby-doc.org/docs/UsersGuide/rg/control.html

  l- ooking at their example it seems the syntax should be:
  case
    when
  end

  I guess that's why it's saying it's expecting "when".



Zouplaz <removed_email_address@domain.invalid> wrote:
  Hello, there's certainly a monstrous error I don't see in :

<% for i in @news %>
  <% if dern_cat != i.categorie %>
   <% case i.categorie %>
   <% end %>
  <% end %>
<% end %>

I've removed all the code I could and don't understand why the case
i.categorie produce a syntax error, unexpected tIDENTIFIER, expecting
kWHEN

What is that syntax error ?

Thank you
Daniel K. (Guest)
on 2007-06-19 15:51
(Received via mailing list)
Zouplaz schrieb:
>
> What is that syntax error ?
>
> Thank you
The correct Syntax would be something like this (not tested):
<% for i in @news %>
  <% if dern_cat != i.categorie %>
   <% case i.categorie %>
     <% when bar then foo %>
   <% end %>
  <% end %>
<% end %>
Zouplaz (Guest)
on 2007-06-19 16:01
(Received via mailing list)
le 19/06/2007 13:46, Daniel K. nous a dit:
>> i.categorie produce a syntax error, unexpected tIDENTIFIER, expecting
>   <% end %>
>  <% end %>
> <% end %>

I removed the 'when' statements just to have the shortest source code...
with

when 'foo'
   doit()
when 'bar'
   dont()

the error is the same
anansi (Guest)
on 2007-06-19 16:21
(Received via mailing list)
that's the correct synthax, working with me without problems:

for i in @news do
  if dern_cat != i.categorie then

   case i.categorie
    when bar :foo
   end

  end
end

If you still have problems post your whole code and the exact and whole
errormessage you are getting!

Zouplaz wrote:
>>> I've removed all the code I could and don't understand why the case
>>     <% when bar then foo %>
>   dont()
>
> the error is the same


--
greets

                     one must still have chaos in oneself to be able to
give birth to a dancing star
Axel E. (Guest)
on 2007-06-19 17:12
(Received via mailing list)
Dear Zouplaz,

it seems you opened a case-end statement and incorporated
when-end statements into it.
But the when part doesn't end in 'end', but in the next when
statement:

  case condition

    when 1

      puts "First thing."

    when 2

      puts "Second thing."

  else

      puts 'you didn\'t satisfy the condition!!!!'
  end


Best regards,

Axel
This topic is locked and can not be replied to.