For the non encode/decode category

Originally Posted By: Sat
while $asc($) is disallowed (a literal "$"), $asc($true) is allowed (as $true is built-in)

Correct. For this category, you may not use literal strings with a few exceptions mentioned below.

Originally Posted By: Sat
given a built-in string function $builtin1(): while $builtin1($builtin2 $+ $builtin3) is allowed, $builtin1($builtin2 $builtin3) is not, because it would be using a literal space as part of the input
A literal space is an exception becuase it MUST be sandwiched between non space values for the space to have any impact on code evaluation. Though not directly returned by a built in identifier it requires the use of other identifers to alter the processing.

The other (known) exception to literal string usage is the pattern portion of reg/sub/ex calls. This exception is made because a reg/sub/ex pattern does not, in any direct way, become part of the returned result; instead the pattern is more of a directive than a literal. The other rules(no numbers) still apply to the pattern though.

Last edited by FroggieDaFrog; 27/09/16 09:30 PM.

I am SReject
My Stuff