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