[ENH] Another new idiom for conditional testing?
danielv at netvision.net.il
danielv at netvision.net.il
Wed Oct 3 22:15:15 UTC 2001
Now I understand.
Well, I like the {} syntax better than the #, but I'm not in a religious
mood.
Whatever.
Daniel
Andres Valloud <sqrmax at prodigy.net> wrote:
> Hi.
>
> > The simple one, semantically equivalent to yours is -
> >
> > allTrue
> > ^self allSatisfy: [:each | each value]
> >
> > The usage pattern is as before:
> >
> > {[exp1].
> > [exp2].
> > [exp3]} allTrue
>
> Eh? {}'s? Where did they come from? Where did #, go? I thought that
> was one of the good points, avoiding creating the collection explicitly
> and then just sending messages not to a collection, but to a
> condition... oh well, maybe it's just that conditions are a collection
> of block contexts. So ok, let's make BooleanCondition a subclass of
> OrderedCollection. Ouch, now #, doesn't work :(.
>
> > The second, smarter one is a bit overly complex, but seems quite
> > convenient -
> >
> > allTrue
> > ^self allSatisfy: [:e | e isBoolean ifTrue: [e] ifFalse: [e value]]
>
> I don't like the "isBoolean ifTrue: ifFalse:" part. I just wanted to
> group blocks together without an #and: or #or: cascade and treat them as
> a single thing.
>
> > So you only put in blocks things you need to calculate lazily, as in -
> > {exp1.
> > [exp2].
> > exp3.
> > [exp4]} allTrue
> >
> > This is what I meant by not having the block in the example I gave
> > below, so I resist your correction! :-)
>
> It was not a correction, it just wanted to make things homogeneous and
> simple.
>
> > This allows you to say explicitly "This expression is expensive or
> > dangerous!", which is often worth saying. And it reduces clutter
> > when they aren't.
>
> Do you think that you can do with
>
> ([...], [...], [...]) allTrue
>
> or do you think you'd like
>
> {aBoolean. [...]. [...]} allTrue
>
> better? Personally, I'd rather stick with ([...], [...], [...])
> allTrue. I just like it because of the #, syntax. But I'm still not
> sure about whether it would be better to have the BooleanCondition be a
> kind of Collection or not.
>
> So I'm torn between syntax and implementation???... what am I thinking
> about??? <G>
>
> Andres.
More information about the Squeak-dev
mailing list
|