PCE version 4C man_modulenamespaceid_tablemodified current_idOIxNclass/ifN referenceC hash_tablerefersizeOIxaIsN V.if.thenCman_variable_card identifiermodule last_modifiednamesummary descriptionsee_alsoinheritdefaultsOIxN V.if.thenRICdateOIx,ƒd?NthennnnCchainsizeOIxIEN V.if.elseXnsNV.if.conditionOIxNV.if.conditionRIOIx,ƒd N conditionnCstringOIxŒCondition to be tested. Note that, if this is a function object, it tests whether the function returns a value. See also `code ->execute'.nnnsNC.ifCman_class_card identifiermodule last_modifiednamesummary descriptionsee_alsoinherituser_interfacebugsOI xNC.ifRIOI x,ƒh£NifnOI xiAn if object is a conditional statement. When executed, it will execute the <-condition. On success, it will execute the <-then branch, otherwise it will execute the <-else branch. An empty <-then or <-else (@nil) simply succeeds. A special trick is to use `if()'. This will succeed regardless of the success or failure of . The following example exploits the if object to remove all graphicals with `area <-measure: 0' from `Device': send(Device?graphicals, for_all, if(@arg1?area?measure == 0, message(@arg1, free))) Class when implements the function equivalent of class if.OI xIeN$class/when$C.wheneN $examples$8EN $examples$5XnnnsN V.if.elseOI xN V.if.elseRIOIx,ƒd£NelsenOIxBranch of the conditional statement. <-then is executed on successful execution of <-condition, <-else otherwise. If the statement is @nil, it executes successfully without side-effects. If the statement is a function, it will be executed as defined by `code ->execute'.nnnXuCnumberOIxx