[ 
https://issues.apache.org/jira/browse/FLINK-3557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15173645#comment-15173645
 ] 

ASF GitHub Bot commented on FLINK-3557:
---------------------------------------

GitHub user tillrohrmann opened a pull request:

    https://github.com/apache/flink/pull/1748

    [FLINK-3557] [stream, scala] Introduce secondary parameter list for fold 
function

    The fold API call takes an initial value as well as a fold function. In 
Scala it is possible
    to provide an anonymous function. In order to easily support multi line 
anonymous functions
    as well as being consistent with Scala's collection API, this PR adds 
another parameter list
    to the fold API call, which contains the fold function parameter.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/tillrohrmann/flink fixFold

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/1748.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1748
    
----
commit 73e4c8b928378213b410fbfaa09688952a8eb60c
Author: Till Rohrmann <[email protected]>
Date:   2016-03-01T11:36:22Z

    [FLINK-3557] [stream, scala] Introduce secondary parameter list for fold 
function
    
    The fold API call takes an initial value as well as a fold function. In 
Scala it is possible
    to provide an anonymous function. In order to easily support multi line 
anonymous functions
    as well as being consistent with Scala's collection API, this PR adds 
another parameter list
    to the fold API call, which contains the fold function parameter.

----


> Scala DataStream fold method should take fold function in secondary parameter 
> list
> ----------------------------------------------------------------------------------
>
>                 Key: FLINK-3557
>                 URL: https://issues.apache.org/jira/browse/FLINK-3557
>             Project: Flink
>          Issue Type: Improvement
>          Components: DataStream API, Scala API
>    Affects Versions: 1.0.0
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>            Priority: Minor
>
> The current Scala DataStream API offers a {{fold}} method. The {{fold}} 
> method takes two parameters, the initial value and the fold function. 
> However, both parameters are specified in the same parameter list. This makes 
> it clumsy to provide a multi-line anonymous function as the fold function 
> parameter in Scala. One would have to wrap the function in an additional pair 
> of curly braces. This could be avoided by having a second parameter list 
> which takes the fold function. This would, additionally, be consistent with 
> Scala's collection API.
> Old style
> {code}
> windowedStream.fold(("R:", 0), { (acc: (String, Int), v: (String, Int)) => 
> (acc._1 + v._1, acc._2 + v._2) })
> {code}
> vs. new style
> {code}
> windowedStream.fold(("R:", 0)){ (acc, v) => (acc._1 + v._1, acc._2 + v._2) }
> {code}
> These changes are API breaking.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to