StringTools - Maple Programming Help

Home : Support : Online Help : Programming : Names and Strings : StringTools Package : Character Class Tests : StringTools/IsIdentifier

StringTools

 IsIdentifier
 determine if a character is valid in an unquoted Maple identifier
 IsIdentifier1
 determine if a character is valid as the first character of an unquoted Maple identifier

 Calling Sequence IsIdentifier(char) IsIdentifier1(char)

Parameters

 char - string; character to test

Description

 • The IsIdentifier(char) command determines whether char is valid as a character in an unquoted Maple identifier.
 If char is a valid character, IsIdentifier returns true. Otherwise, false is returned.
 • The IsIdentifier1(char) command determines whether char is valid as the first character of an unquoted Maple identifier.
 If char is valid as the first character, IsIdentifier1 returns true. Otherwise, false is returned.
 • For these functions, if char is a string that contains more than one character, then all the characters in the string are tested. The commands returns true if the condition is true of all characters in the input string. For the empty string, the tested condition is vacuously true.
 • All of the StringTools package commands treat strings as (null-terminated) sequences of $8$-bit (ASCII) characters.  Thus, there is no support for multibyte character encodings, such as unicode encodings.

 • The StringTools[IsIdentifier] command is thread-safe as of Maple 15.

Examples

 > $\mathrm{with}\left(\mathrm{StringTools}\right):$
 > $s≔\mathrm{convert}\left(\left[\mathrm{}\left(1..255\right)\right],'\mathrm{bytes}'\right):$
 > $\mathrm{length}\left(s\right)$
 ${255}$ (1)
 > $\mathrm{Select}\left(\mathrm{IsIdentifier},s\right)$
 ${"0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"}$ (2)
 > $\mathrm{Select}\left(\mathrm{IsIdentifier1},s\right)$
 ${"%ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"}$ (3)
 > $\mathrm{IsIdentifier}\left("myproc"\right)$
 ${\mathrm{true}}$ (4)
 > $\mathrm{IsIdentifier}\left("this/that"\right)$
 ${\mathrm{false}}$ (5)