SetStringMid
,
StringMid
,
String, Atom
,
ConcatStrings
,
LocalSymbols
,
PatchString
.
String manipulation
SetStringMid -- change a substring
Internal function
Calling format:
SetStringMid(index,substring,string)
|
Parameters:
index -- index of substring to get
substring -- substring to store
string -- string to store substring in.
Description:
Set (change) a part of a string. It leaves the original alone, returning
a new changed copy.
Examples:
In> SetStringMid(3,"XY","abcdef")
Out> "abXYef";
|
See also:
StringMid
,
Length
.
StringMid -- retrieve a substring
Internal function
Calling format:
StringMid(index,length,string)
|
Parameters:
index -- index of substring to get
length -- length of substring to get
string -- string to get substring from
Description:
StringMid returns a part of a string. Substrings can also be
accessed using the [] operator.
Examples:
In> StringMid(3,2,"abcdef")
Out> "cd";
In> "abcdefg"[2 .. 4]
Out> "bcd";
|
See also:
SetStringMid
,
Length
.
String, Atom -- convert atom to string and vice versa
Internal function
Calling format:
Atom("string")
String(atom)
|
Parameters:
atom -- an atom
"string" -- a string
Description:
Returns an atom with the string representation given
as the evaluated argument. Example: Atom("foo"); returns
foo.
String is the inverse of Atom: turns atom into "atom".
Examples:
In> String(a)
Out> "a";
In> Atom("a")
Out> a;
|
ConcatStrings -- concatenate strings
Internal function
Calling format:
Parameters:
strings -- one or more strings
Description:
Concatenates strings.
Examples:
In> ConcatStrings("a","b","c")
Out> "abc";
|
See also:
:
.
LocalSymbols -- create unique local symbols with given prefix
Standard library
Calling format:
LocalSymbols(var1, var2, ...) body
|
Parameters:
var1, var2, ... -- atoms, symbols to be made local
body -- expression to execute
Description:
Given the symbols passed as the first arguments to LocalSymbols a set of local
symbols will be created, and creates unique ones for them, typically of the
form $<symbol><number>, where symbol was the symbol entered by the user,
and number is a unique number. This scheme was used to ensure that a generated
symbol can not accidentally be entered by a user.
This is useful in cases where a guaranteed free variable is needed,
for example, in the macro-like functions (For, While, etc.).
Examples:
In> LocalSymbols(a,b)a+b
Out> $a6+ $b6;
|
See also:
UniqueConstant
.
PatchString -- execute commands between <? and ?> in strings
Internal function
Calling format:
Parameters:
string -- a string to patch
Description:
This function does the same as PatchLoad, but it works on a string
in stead of on the contents of a text file. See PatchLoad for more
details.
Examples:
In> PatchString("Two plus three \
is <? Write(2+3); ?> ");
Out> "Two plus three is 5 ";
|
See also:
PatchLoad
.