[
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)