UnicodeRight (Unicode function)

From m204wiki
Revision as of 20:09, 31 December 2010 by Dme (talk | contribs)
Jump to navigation Jump to search

Right-most characters of string to specified length

This function returns a specified number of the right-most characters of the method object string, possibly padding them on the left.

The UnicodeRight function is available as of version 7.5 of the Sirius Mods.

Syntax

  %outUni = unicode:unicodeRight(length [, Pad=char])

Syntax Terms

%outUni
A Unicode variable to receive the result of the UnicodeRight method.
unicode
A Unicode string.
length
The number of the right-most characters to return. If the method object is shorter than the requested number of characters, it is either padded to the requested length or the entire method object string is returned with no padding, depending on the value of the Pad parameter.
Pad=char
The character used to pad the method object string on the left if it is shorter than the requested length. char defaults to a null, which means no padding is done. Pad is a name-required parameter.

Usage Notes

  • The length value must be a non-negative number. A negative number results in request cancellation.
  • The pad parameter value must be either null or a single character. A longer value results in a compilation error.
  • The Right method can be useful for right-justifying a value in a string, most typically by using a blank as pad character.
  • The UnicodeRight method is analogous to the String intrinsic Right method.

Examples

The following statement places the right-most 5 characters of %x into %y. If %x is shorter than 6 characters, then all of %x is copied into %y:

    %y = %x:unicodeRight(5)

The following request right-aligns a text string and a number, padding each on the left with a different character. This example also shows that the argument for the method's Pad parameter may be a Unicode string (which gets converted implicitly to String).

    Begin
    %u2 unicode initial('inaugural')
    %pad is string len 4
    %len is float
    printText {%u2:unicodeRight(10, pad=' ')}
    printText {123:unicodeRight(10, pad='@':U)}
    End

The result is:

     inaugural
    @@@@@@@123

The U constant function used in the example is described ??U. For information about the PrintText statement, see the list item ?? refid=intprnt..