$Str
<section begin="desc" />Treat a longstring as string<section end="desc" />
Most Sirius $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $Str function.
This function takes a longstring input and produces a string output, silently truncating the result at 255 bytes or shorter if the target is shorter.
The $Str function accepts one argument and returns a string result that is the first argument truncated at the $function target's length.
The first argument is an arbitrary string.
Syntax
<section begin="syntax" /> %STR = $Str(longstring) <section end="syntax" />
For example, if %LINCOLN was a LONGSTRING %variable containing the text of the Gettysburg Address and %AGE was a STRING LEN 20
%AGE = $Str(%LINCOLN)
would result in %AGE containing "Four score and seven".
The main utility of the $Str function is to prevent the request cancellation that would result from a direct assignment from a LONGSTRING value to a STRING %variable that is too small to hold the entire value. While the input to $Str could be a regular STRING this doesn't really make much sense since a regular STRING can be assigned to a regular STRING without request cancellation for truncation, anyway. A $Str would upgrade a WITH expression that's its argument to a LONGSTRING WITH expression but this is again rather silly as the result would then simply be truncated at 255 bytes should it exceed 255 bytes. $Str also makes sense as a quick shorthand for the first 255 bytes of a LONGSTRING, even if the target is a LONGSTRING.
$Str is only available in Sirius Mods Version 6.2 and later.