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 Blazquez (Jira)" <ji...@apache.org> on 2021/01/27 18:57:00 UTC
[jira] [Commented] (FREEMARKER-101) Add random number generation -
perhaps 5.random()?
[ https://issues.apache.org/jira/browse/FREEMARKER-101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17273091#comment-17273091 ]
Daniel Blazquez commented on FREEMARKER-101:
--------------------------------------------
Hi, I've landed on this page looking for a way to make random changes to some elements of a page with FE (for presentation purposes). Javascript is not an option (and I would prefer to do it with FE).
I think [~woon_san] 's idea for sequences is great, even more useful than a random function.
> 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
(v8.3.4#803005)