MathGroup Archive 2000

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

Search the Archive

RE: Conditionals with multiple tests?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg24119] RE: [mg24104] Conditionals with multiple tests?
  • From: Wolf Hartmut <hwolf at debis.com>
  • Date: Wed, 28 Jun 2000 02:11:41 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com


> -----Original Message-----
> From:	A. E. Siegman [SMTP:siegman at stanford.edu]
To: mathgroup at smc.vnet.net
> Sent:	Tuesday, June 27, 2000 6:52 AM
> To:	mathgroup at smc.vnet.net
> Subject:	[mg24104] Conditionals with multiple tests?
> 
> Let's say I want to assign values to three variables p1, p2, p3 that 
> will depend on five different (and nonoverlapping) tests test1 to test 5.
> 
> One way to do this is obviously
> 
>       p1 = Which[test1, value11, test2, value12, . . . ]         
>       p2 = Which[test1, value21, test2, value22, . . . ]   
>       p3 = Which[test1, value31, test2, value32, . . . ]
> 
> But a more compact and (for me anyway) neater approach is
> 
>    Which[test1, p1=value11; p2=value21; p3=value31,
>               test2, p1=value21; p2=value22; p3=value32,
>               test3, . . . 
>               test4, . . . 
>               test5, . . . ]
> 
> Is this form legal?  That is, can one use:
> 
>       Which[test1, expr1, test2, expr2, . . .]
> 
> where expr1, expr2, . . . may be compound expressions?
> 
> (I would say that The Mathematica Book is not at all clear on this 
> point, as regards either Which[] or If[].)
> 
> If not, is there a legal way to implement the basic objective?
> 
[Wolf Hartmut]  
absolutely legal ("everything is an expression"). Perhaps you also should
consider the possibility

{p1, p2, p3} = 
  Which[test1, {value11, value21, value31}, 
        test2, {value12, value22, value32}, ...]



  • Prev by Date: Re: Conditionals with multiple tests?
  • Next by Date: Re: Piecewise functions definition and usage
  • Previous by thread: Re: Conditionals with multiple tests?
  • Next by thread: Re: Conditionals with multiple tests?