ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> ruby-talk
ruby-talk
Re: "with" statement
by Dan Yoder other posts by this author
Oct 21 2007 10:45AM messages near this date
"with" statement | Re: "with" statement
Robert and David are right - you can use instance_eval. If you really
want with, it is very easy to add:

module Kernel
  def with(object,&block)
    object.instance_eval &block
  end
end

with([1,2,3]) { length } # =>  3


---
Dan Yoder
http://dev.zeraweb.com/
Ruby And JavaScript Consulting


On Oct 21, 8:15 am, Perry Smith <p...@[...].com>  wrote:
>  Pascal has a with statement.  (I'm showing my age).  It would be nice
>  instead of:
> 
>      <td><%= h relationship.parent_id %></td>
>      <td><%= h relationship.link_type.pcln %></td>
>      <td><%= h relationship.child_id %></td>
>      <td><%= h relationship.active %></td>
>      <td><%= h relationship.notes %></td>
>      <td><%= h relationship.created_at %></td>
>      <td><%= h relationship.updated_at %></td>
> 
>  I could do:
> 
>      with(relationship) {
>        <td><%= h parent_id %></td>
>        <td><%= h link_type.pcln %></td>
>        <td><%= h child_id %></td>
>        <td><%= h active %></td>
>        <td><%= h notes %></td>
>        <td><%= h created_at %></td>
>        <td><%= h updated_at %></td>
>      }
> 
>  I bet there is a clever way to do this -- I just don't know now.
>  --
>  Posted viahttp://www.ruby-forum.com/.
Thread:
Perry Smith
Dan Yoder
Pete Elmore
Randy Kramer
Giles Bowkett
Robert Klemme
Giles Bowkett
Stefan Rusterholz
Yossef Mendelssohn
Perry Smith
David A. Black
Robert Dober
Stephane Wirtel

Privacy Policy | Email Opt-out | Feedback | Syndication
© 2004 ActiveState, a division of Sophos All rights reserved