MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Variable amount of Buttons in Mathematica


SDY wrote:

> I'm trying to write a function that will create a variable number of buttons (based on some input) and relate each button to a function call with a unique parameter value. For example:
> 
> array = {1, 2, 3, 4, 5};
> Column[{Row[
>    Table[Button[array[[n]], Print[n], ImageSize -> {50, 50}], {n, 1,Length[array], 1}]]}]
> 
> Gives me five buttons, labeled 1-5, but each prints 'n' when clicked on.  
> How would I change this to print the value of n?
> 
> My best guess at this point is that there is a scoping issue with n, but I don't have enough Mathematica experience to know how to assign static values...

When creating a list of buttons, you can use the scooping construct 
*With[]* to ensure the evaluation of n:

   array = {1, 2, 3, 4, 5};

   Row[Table[
     With[{n = n},
      Button[array[[n]], Print[array[[n]]], ImageSize -> {50, 50}]], {n,
      Length[array]}]]

Regards,
-- Jean-Marc


  • Prev by Date: Re: Variable amount of Buttons in Mathematica
  • Next by Date: Re: Variable amount of Buttons in Mathematica
  • Previous by thread: Re: Variable amount of Buttons in Mathematica
  • Next by thread: Re: Variable amount of Buttons in Mathematica