Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

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

Search the Archive

Re: Validating functions input

  • To: mathgroup at smc.vnet.net
  • Subject: [mg58800] Re: Validating functions input
  • From: David Bailey <dave at Remove_Thisdbailey.co.uk>
  • Date: Tue, 19 Jul 2005 04:10:08 -0400 (EDT)
  • References: <dbflkk$n0p$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Nilton wrote:
> I have a function that must have its input validated.
> 
> f[x,y]
> 
> I want to validate if x <= 2^y. If it's valid, then just return the
> symbol f[x,y] unevaluated. If it's not valid, I want to return some
> symbol, Null for instance, and issue an error message.
> 
> The following is a try, but it doesn't work, because it's definition is
> recursive:
> 
> f::invalid = "Invalid arguments"
> f[x_,y_] := If[x <= 2^y, f[x,y], Message[f::invalid]]
> 
> Is there any way to implement this?
> 
> Thanks,
> -- Nilton
> 
Hello,

All you need to do is pick off the case that requires an error message 
and leave the others:

f[x_,y_] := Message[f::invalid]/;x>2^y;

David Bailey
http://www.dbaileyconsultancy.co.uk


  • Prev by Date: Re: benchmark
  • Next by Date: Symbolic Constrained Maximization
  • Previous by thread: Re: Validating functions input
  • Next by thread: Re: Validating functions input