From: Bihal Date: 2006-04-10T15:06:27+09:00 Subject: Ruby Grammar - "do" Hey everyone I work for a software development company that is currently writing an in-house grammar for parsing Ruby. I've been frustrated by it many, many, many times. Maybe it's easy to program in, but it's a nightmare to parse. My particular question (right now :P) is in reference to the do keyword. I was sure that if there was a "do" eg. expression.each do | [ name ]+ | body end there would be an "end". But now I've run into this particular example. def _tags rv = [ "title", "link", "description", "language", "copyright", "managingEditor", "webMaster", "rating", "docs", "skipDays", "skipHours", "image", "textInput", "cloud", ].delete_if do |x| send(x).nil? end.collect do |elem| [nil, elem] end @item.each do rv << [nil, "item"] end rv end Can someone please enlighten me as to why this particular do is special? Bihal -- Posted via http://www.ruby-forum.com/.