On 2006.02.07 14:47, Evan Webb wrote:
> Umm, on what version are you seeing a warning there? I don't and never
> have gotten a warning doing that exact thing.

Only when dealing with literals, sorry.

  if a = rand(5) ...     # OK

  if a = 5 ...           # Warning

Though I would actually prefer a warning (at least with -w)
even for the cases where the rvalue is a method.

>  - Evan
> 
> On 2/6/06, Eero Saynatkari <ruby-ml / magical-cat.org> wrote:
> > On 2006.02.07 10:03, Evan Webb wrote:
> > > I'm not sure we even need the 'with' syntax. Even if we do, it breaks
> > > the programmers context in a way that we might not want to have to
> > > explain constantly. I can just hear the questions now...
> > >
> > > "Why are my method calls inside a with being executed on the wrong object?"
> > >
> > > "Well, thats because with changes self for it's body, and so you have
> > > to be careful what you call in there."
> > >
> > > repeat..
> > >
> > > While the more hardcore of us are use to using blocks to enter into
> > > new and strange contexts (module_eval/class_eval/instance_eval oh
> > > my!), pushing this to the normal user is not a decision that should be
> > > made lightly.
> > >
> > > As for the original syntax "&?" I'm against it. It adds a significant
> > > new level of unreadability. At this stage of the game, any syntax
> > > changes need to really thought out. We've already got a great,
> > > expressive syntax. If you want to do away with the duplication of
> > > effort, use a local variable, thats what there there for:
> > >
> > > if t = a[0] and t.strip.empty?
> > >    # jump off a bridge
> > > end
> > >
> > > On a regular basis I write:
> > >
> > > if a = something_long
> > >    a.another_operation
> > > end
> > >
> > > The local variable a gets the value "cached" and then we get to do a
> > > conditional on it's value right away. We've got a language where
> > > everything is an expression, lets use it!
> >
> > A minor nitpick, you need
> >
> >   if (t = something.first) and t.strip.empty?
> >     # ...
> >   end
> >
> > Otherwise a warning will be emitted (sensible behaviour).
> >
> > >  - Evan
> > >
> > > On 2/3/06, James Britt <ruby / jamesbritt.com> wrote:
> > > > mathew wrote:
> > > > >...
> > > >
> > > >
> > > > > with a[1]
> > > > >  strip!
> > > > >  empty?
> > > > > end
> > > > >
> > > > > or similar. Hopefully you get the basic idea anyway, and someone can
> > > > > refine the semantics if they like it...
> > > >
> > > >
> > > > I'm not too keen on terse syntax; clarity for the read takes precedence
> > > > over ease for the writer.  The 'with' syntax is more expressive.
> > > >
> > > >
> > > > James
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > When I do good, I feel good;  when I do bad, I feel bad,
> > > and that is my religion.
> > >     -- Abraham Lincoln (1809 - 1865)


E