X (String function): Difference between revisions
Jump to navigation
Jump to search
m (→Usage notes) |
m (printtext) |
||
Line 1: | Line 1: | ||
{{Template:String:X subtitle}} | {{Template:String:X subtitle}} | ||
<var>X</var> is an [[Intrinsic classes|intrinsic]] function that returns the unencoded value of a hex-encoded string. It is a compile-time-only equivalent of <var>[[HexToString (String function)|HexToString]]</var>. Since, in use, it acts like a hex constant, it is also documented with the [[System classes and methods#Constant_methods|"Constant methods"]]. | |||
<var>X</var> | <var>X</var> treats each input character as an input hex digit. | ||
==Syntax== | ==Syntax== | ||
Line 16: | Line 15: | ||
==Usage notes== | ==Usage notes== | ||
<ul><li>As in all <var class="product">Janus SOAP</var> system methods with string outputs, the output <var class="term">%outString</var> variable provides <var>[[Longstrings|longstring]]</var> behavior. However, this adds 28 bytes of VTBL usage to every <var>X</var> constant. | <ul><li>As in all <var class="product">[[Janus SOAP|"Janus Soap"]]</var> system methods with string outputs, the output <var class="term">%outString</var> variable provides <var>[[Longstrings|longstring]]</var> behavior. However, this adds 28 bytes of VTBL usage to every <var>X</var> constant. | ||
<li>Although its utility is dubious, the following is valid and sets %x to <code>x'01'</code>: | <li>Although its utility is dubious, the following is valid and sets %x to <code>x'01'</code>: | ||
<p class="code">%x = 'f0f1':x:x | <p class="code">%x = 'f0f1':x:x | ||
</p> | </p> | ||
<li><var>X</var> requires a method object <var class="term">string</var> with an even number of bytes. | <li><var>X</var> requires a method object <var class="term">string</var> with an even number of bytes. | ||
<li><var>X</var> is available as of <var class="product">Sirius Mods</var> | <li><var>X</var> is available as of <var class="product">[[Sirius Mods|"Sirius Mods"]]</var> Version 7.3. | ||
</ul> | </ul> | ||
==Example== | ==Example== | ||
<ol><li>The following statement would display <code>1234</code>: | <ol><li>The following statement would display <code>1234</code>: | ||
<p class="code">printText {'f1f2f3f4': | <p class="code">[[PrintText statement|printText]] {'f1f2f3f4':X} | ||
</p></ol> | </p></ol> | ||
==See also== | ==See also== | ||
{{Template:String:X footer}} | {{Template:String:X footer}} |
Revision as of 06:31, 25 February 2011
Hex constant method (String class)
X is an intrinsic function that returns the unencoded value of a hex-encoded string. It is a compile-time-only equivalent of HexToString. Since, in use, it acts like a hex constant, it is also documented with the "Constant methods".
X treats each input character as an input hex digit.
Syntax
%outString = string:X
Syntax terms
%outString | A string variable to receive the unencoded value of the method object string. |
---|---|
string | A hex-encoded string value. |
Usage notes
- As in all "Janus Soap" system methods with string outputs, the output %outString variable provides longstring behavior. However, this adds 28 bytes of VTBL usage to every X constant.
- Although its utility is dubious, the following is valid and sets %x to
x'01'
:%x = 'f0f1':x:x
- X requires a method object string with an even number of bytes.
- X is available as of "Sirius Mods" Version 7.3.
Example
- The following statement would display
1234
:printText {'f1f2f3f4':X}