There you go again with your confusing [to me] extra braces.

for (x <- xs) yield x.toUpperCase // is just as valid. :)

On Tue, Jul 31, 2012 at 9:46 AM, Kevin Wright <[email protected]>wrote:

> Without lambdas, you're a bit limited here.  But with them, I've found
> scala's approach to work well.
>
> for(x <- xs) { println(x) }
>
> is just syntactic sugar for
>
> xs foreach { x => println(x) }
>
>
>
> and
>
> for(x <- xs) yield { x.toUpperCase }
>
> is
>
> xs map { x => x.toUpperCase }
>
>
> *anything* with the appropriate map/flatMap/filter/foreach method(s) on
> can be used in a for-comprehension.
> (which is why scala doesn't call it a "for loop", because it really isn't)
>
>
> On 31 July 2012 13:31, Dale Wijnand <[email protected]> wrote:
>
>> I would say you could create delegating iterables/iterators for those
>> types. What would be an alternative would you have preferred?
>>
>> Dale
>>
>> On 31 July 2012 14:17, Kevin Wright <[email protected]> wrote:
>>
>>> Yes/No.  You're still forced to only use it with things that can be
>>> Iterables, yet there's a whole category of stuff where foreach makes sense,
>>> but can't be represented in this manner.
>>>
>>> One of the more obvious examples here is something like a stream of
>>> lines coming over a network socket, in which you want the body of the
>>> foreach expression to be executed asynchronously for each incoming line
>>> (perhaps by dispatching to a thread pool), and for the expression as a
>>> whole to be non-blocking.
>>>
>>>
>>> On 31 July 2012 08:15, Roland Tepp <[email protected]> wrote:
>>>
>>>> Sorry, couldn't resist, but let your class implement Iterable and voila
>>>> - the foreach is extended!
>>>>
>>>> esmaspäev, 30. juuli 2012 15:55.30 UTC+3 kirjutas Ricky Clarkson:
>>>>
>>>>> 6. foreach is not open for extension, i.e., it only works with
>>>>> Iterables and arrays.
>>>>>
>>>>
>>>
>>>  --
> You received this message because you are subscribed to the Google Groups
> "Java Posse" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/javaposse?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups "Java 
Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to