Inline If Statements: Difference between revisions

From Sierra WikiNew
Jump to navigationJump to search
No edit summary
 
m (1 revision imported)
 
(No difference)

Latest revision as of 00:03, 3 June 2024

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


References



Also See