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)
...
)