[
https://issues.apache.org/jira/browse/FREEMARKER-101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16562722#comment-16562722
]
Woonsan Ko commented on FREEMARKER-101:
---------------------------------------
How about supporting two new built-ins for sequence instead of {{random}}?
{code}
seq?any --> pick any item from the sequence at random. cf) first, last
seq?shuffle -> randomly permutes the sequence to return a new sequence
re-ordered at random
{code}
These will provide *easier* and more *intuitive* solutions to the two use cases
mentioned earlier: (a) pick one banner image at random from a sequence, (b)
generate a randomly selected color list for a tag list.
{{?any}} seems to be aligned with the principles as it's similar to {{?first}}
or {{?last}}.
{{?shuffle}} also seems fine, considering
{{java.util.Collections.shuffle(List)}}, which makes me think it can be
qualified as a new built-in for sequence.
Regards,
Woonsan
> Add random number generation - perhaps 5.random()?
> --------------------------------------------------
>
> Key: FREEMARKER-101
> URL: https://issues.apache.org/jira/browse/FREEMARKER-101
> Project: Apache Freemarker
> Issue Type: New Feature
> Reporter: Ondra Žižka
> Priority: Major
>
> I can't find a way to easily create a random number in FreeMarker.
> Could we add it please?
> Something like:
> {code:java}
> 0?random() --> 0 to 0.9999999 like Math.random()
> 0?random(5,9) --> random from that interval
> Or (incompatible with the logic above)
> 5?random() --> 0 to 5
> 5?random(-1) --> 0 to 4
> And if this is possible - to make it compatible with the two above:
> random() --> 0 to 0.9999999 like Math.random()
> random(5,9) --> random from that interval{code}
> I am not quite sure about the overall consistency of the logic.
> Also, collections could have a built-in to pick random item:
> {code:java}
> myItems.random(){code}
> As a shorthand for
> {code:java}
> myItems[myItems.size().random(-1)]{code}
>
> See here:
> https://stackoverflow.com/questions/3680273/how-to-get-a-random-integer-in-freemarker-template/51554484#51554484
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)