So implemented with 61ea661d8dfc04acabf1eb46c
Liz > On 27 Nov 2015, at 17:17, Patrick R. Michaud <pmich...@pobox.com> wrote: > > The standard meaning of ".roll" is to randomly select elements > from a list. So I'd expect .roll on a Range to first convert the > Range to a list of values and then select from those. > > If the intent is to select from the values 0.1, 0.2, 0.3, I'd expect > the programmer to write: > > (0.1, 0.2, 0.3).roll(6) > > If the intent is to select from a range of values incrementing by > 0.1, then: > > (0.1, 0.2 ... 10.1).roll(6) > > If the intent is to generate six random Num values from a Range, > then it should probably be (I suspect this isn't implemented yet): > > (0.1 .. 0.3).rand xx 6 > > Pm > > > On Thu, Nov 26, 2015 at 03:36:49PM +0100, Wenzel P. P. Peppmeyer wrote: >> >> On Thu, 26 Nov 2015, Elizabeth Mattijsen via RT wrote: >> >>>> (0.1 .. 0.3).roll(10).say; >> >>> What did you expect? a selection of 0.1, 0.2, 0.3 ?? or 10 random values >>> between 0.1 and 0.3 inclusive? >> >> I would (naive) expect 10x a value between 0.1 and 0.3 . Analog to: >> >> (0.1, 0.2, 0.3).roll(10).say; >> # OUTPUT«(0.3 0.2 0.1 0.2 0.1 0.2 0.3 0.2 0.2 0.1)» >> >> However, S03 is quite clear how Range is iterating. >> >> 0.1.succ == 1.1; >> >> So incrementing by 0.1 can't work. It may be reasonable to fail as early as >> possible for Range.roll on any Range that is neither Int nor Str on both end >> points. >> >> mfgwp >