so generalize the class...
  ----- Original Message ----- 
  From: Alex McAuley 
  To: prototype-scriptaculous@googlegroups.com 
  Sent: Friday, September 25, 2009 12:25 PM
  Subject: [Proto-Scripty] Re: Range utility increment



  That only gives you even or odd increments to the top number...

  WHat if you wanted every 5th number ...

  Better to go with my/TJ's loop


  Alex Mcauley
  http://www.thevacancymarket.com
  ----- Original Message ----- 
  From: "Matt Foster" <mattfoste...@gmail.com>
  To: "Prototype & script.aculo.us" <prototype-scriptaculous@googlegroups.com>
  Sent: Friday, September 25, 2009 5:57 PM
  Subject: [Proto-Scripty] Re: Range utility increment



  I'd just use an 'iterator' class to do this...

  var EvenNumber = Class.create(
  {
  initialize : function(num){
  this.num = (num % 2 == 1) ? num - 1 : num;
  },
  succ : function(){
  return new EvenNumber(this.num + 2);
  },
  toString : function(){
  return this.num;
  }
  });

  var bottom = new EvenNumber(1);

  var top = new EvenNumber(21);
  var range = $A($R(bottom, top));

  console.log(range);

  I had done this to a much greater extent in my date range selector
  gadget.  Where it became the master range, held a range of calendar
  objects, which were in themselves ranges of date objects... fun stuff.

  
https://positionabsolute.net/blog/2008/01/google-calendar-date-range-selection.php

  ps just looking over that, should rename that class to
  "PositiveEvenNumber", only going to work one way, but you get the idea


  On Sep 25, 4:15 am, "Alex McAuley" <webmas...@thecarmarketplace.com>
  wrote:
  > function everyOther(start, end, increment) {
  > var n;
  > var rv = [];
  > for (n = start; n <= end; n += increment) {
  > rv[rv.length] = n;
  > }
  > return rv;
  > }
  >
  > Just a mod to make it better to be able to change it to 3's, 4's, 5's
  >
  > ;)
  >
  > Alex Mcauleyhttp://www.thevacancymarket.com
  >
  > ----- Original Message -----
  > From: "T.J. Crowder" <t...@crowdersoftware.com>
  > To: "Prototype & script.aculo.us" 
  > <prototype-scriptaculous@googlegroups.com>
  > Sent: Friday, September 25, 2009 8:29 AM
  > Subject: [Proto-Scripty] Re: Range utility increment
  >
  > Hi,
  >
  > > I'm looking for a way to specify that I want to increment by any
  > > value. Let's say count up by 2's: [2,4,6,8,10]. How do you do this?
  >
  > ObjectRange itself is for ranges of consecutive values, but you can
  > get an array of such values by applying Enumerable#collect to a range:
  >
  > var twos;
  > twos = $R(1, 5).collect(function(x) { return x * 2; });
  >
  > ...although frankly I'd probably go with a straight loop like Alex did
  > (although a slightly different one):
  >
  > function everyOther(start, end) {
  > var n;
  > var rv = [];
  > for (n = start; n <= end; n += 2) {
  > rv[rv.length] = n;
  > }
  > return rv;
  > }
  >
  > FWIW,
  > --
  > T.J. Crowder
  > tj / crowder software / comwww.crowdersoftware.com
  >
  > On Sep 24, 11:15 pm, JoJo <tokyot...@gmail.com> wrote:
  > >http://www.prototypejs.org/api/utility/dollar-r
  >
  > > From the documentation of the Range utility, it seems like it can only
  > > increment by 1's. For example, $A($R(1,10,true)) gives you:
  > > [1,2,3,4,5,6,7,8,9,10].
  >
  > > I'm looking for a way to specify that I want to increment by any
  > > value. Let's say count up by 2's: [2,4,6,8,10]. How do you do this?



  

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to