Providing default values when expected arguments not provided


    Oct 27 2007 | 7:29 pm
    Hello,
    I am trying to built a random number generator with lower and upper
    limits defined as arguments.
    I try to provide default values in case no argument is typed in
    however the following script doesn't work. It returns a NaN as output.
    Any advice?
    Roald Baudoux
    // Random number generator
    // inlets and outlets
    inlets = 1;
    outlets = 1;
    //global variables
    var random_minimum = jsarguments[1];
    var random_maximum = jsarguments[2];
    var random_range = random_maximum - random_minimum;
    // random generation upon bang message
    function bang()
    {
    if (random_minimum=="")
    random_minimum = 0.;
    else
    random_minimum = random_minimum;
    if (random_maximum=="")
    vrandom_maximum = 1.;
    else
    random_maximum = random_maximum;
    outlet (0, ((Math.random() * random_range)+random_minimum));
    }

    • Oct 27 2007 | 9:36 pm
      Salut Roald,
      On 27 oct. 07, at 21:29, Roald Baudoux wrote:
      > I am trying to built a random number generator with lower and upper
      > limits defined as arguments.
      >
      > I try to provide default values in case no argument is typed in
      > however the following script doesn't work. It returns a NaN as output.
      You could initialize the min and max vars with your default values and
      then check for the number of arguments.
      Something like this:
      // Random number generator
      // inlets and outlets
      inlets = 1;
      outlets = 1;
      //global variables
      var random_minimum = 0.;
      var random_maximum = 1.;
      if (jsarguments.length==2)
      {
      random_minimum = jsarguments[1];
      }
      else if (jsarguments.length==3)
      {
      random_minimum = jsarguments[1];
      random_maximum = jsarguments[2];
      }
      else if (jsarguments.length>3)
      {
      post("error: wrong number of arguments");
      post();
      }
      var random_range = random_maximum - random_minimum;
      // random generation upon bang message
      function bang()
      {
      outlet (0, ((Math.random() * random_range)+random_minimum));
      }
    • Oct 27 2007 | 9:43 pm