You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by "Daniel Dekany (JIRA)" <ji...@apache.org> on 2017/07/11 18:43:00 UTC

[jira] [Commented] (FREEMARKER-62) ?sort_by to accept Iterable

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

Daniel Dekany commented on FREEMARKER-62:
-----------------------------------------

It works with arrays and anything that's wrapped as {{TemplateSequenceModel}}, but I got the point. {{Iterator}}-s aren't wrapped as {{TemplateSequenceModel}}-s. Well, I guess to sort something you need to copy it into an array (or {{List}}) and do an in place sort anyway. So why not, I guess. (Though it will be funny that you can't call, say, {{?size}} on the thing before sorting (because it's not a sequence), but after sorting you magically can.)

> ?sort_by to accept Iterable
> ---------------------------
>
>                 Key: FREEMARKER-62
>                 URL: https://issues.apache.org/jira/browse/FREEMARKER-62
>             Project: Apache Freemarker
>          Issue Type: Improvement
>          Components: engine
>    Affects Versions: 2.3.26-incubating
>            Reporter: Ondra Žižka
>            Priority: Minor
>
> Currently, {{?sort_by()}} only accepts a {{List}}.
> It's not complicated to create an {{iteratorToList() FreemarkerMethod}}, though.
> So this is a suggestion to make {{?sort_by}} accept an {{Iterable}}, and if it detects it was called for Iterable and not a List, it would create the sorted list. It could use heapsort maybe.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)