Inline If Statements
From SCI Wiki
Revision as of 10:08, 17 February 2012 by Jeremiah Nellis (talk | contribs)
Note: This article only applies to SCI Companion
The "if" statement does not return a value, making a the nesting of if's (inline) like this not possible:
Code:
(if (> a ((if(> b c) 5)(else 9)) d) // This syntax works in SCI Studio, but will not compile in SCI Companion
...
)As indicated above, this code will work in Studio, but will not work in Companion. The way to handle this in Companion is to implement a procedure, which will return a value:
Code:
(procedure public (iif pCondition pTrue pFalse)
(if (pCondition)
return pTrue
)(else
return pFalse
)
)The original statement can now be re-written as:
Code:
(if (> a iif(> b c 5 9) d)
...
)