Re: goto label, no loop, Mathematica 6
- To: mathgroup at smc.vnet.net
- Subject: [mg129566] Re: goto label, no loop, Mathematica 6
- From: "djmpark" <djmpark at comcast.net>
- Date: Fri, 25 Jan 2013 01:33:32 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <13531495.60391.1358914959041.JavaMail.root@m06>
Your code example seems quite confused and not very specific as to what constitutes the model. First, you can't use Switch as a variable since it is a Mathematica function, which you might actually use. I'm not quite certain about the use of Goto but I don't think you could use it to transfer between notebook cells. You have to use it within a single cell, or within a compound statement, or within a Module as is shown on the Help page for Goto. Goto may have a few uses but is not generally a good programming method. You could try something like this: evaluateModel[modelType_] := (If[modelType == 2, Goto[model2]]; Print["Evaluating Model 1"]; Goto[end]; Label[model2]; Print["Evaluating Model 2"]; Label[end]; "Return the model"); But a far better method would be: evaluateModel[modelType_] := Switch[modelType, 1, Print["Evaluating Model 1"]; "Return the model", 2, Print["Evaluating Model 2"]; "Return the model"] David Park djmpark at comcast.net http://home.comcast.net/~djmpark/index.html From: bob [mailto:stefanie.schubert at whu.edu] Hi, I'd like to write down my model (several cells) and afterwards implement another version of that model. But as I use the same names for variables, Mathematica has to "forget" former assignments. A solution woul be something like that (which I don't know how to do it in Mathematica unfortunately): Switch=1 (*a variable that can be set to 1 or 2: tell matehmatica to read only Part 1 (or 2)*) if Switch=2 goto label_switch2 Model Part 1 (several cells) label_switch2 MOdel Part 2 (several cells) But if I'm right, goto is usually used for loops, so that the order is label - goto; but not as required here: goto label Thanks for any help!!