X (String function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
mNo edit summary
 
(33 intermediate revisions by 5 users not shown)
Line 1: Line 1:
This [[Intrinsic classes|intrinsic]] function returns the unencoded value of a hex-encoded string.  
{{Template:String:X subtitle}}
It is a compile-time-only equivalent of the [[HexToString (String function)|HexToString]] method.  
<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"]].
Since in use the method acts like a hex constant, it is also                                        
documented with the [[Constant methods]].                                                          
                                                                                                   
The X function treats each input character as an input hex digit.                                   
                                                                                                   
The X method is available as of [[Sirius Mods]] version 7.3.                                       
===X syntax===                                                                                     
  %out = string:X                                                                                 
===Syntax Terms===                                                                                 
<dl>                                                                                               
<dt>%out                                                                                           
<dd>A string variable to receive the unencoded value of the method object string.                   
<dt>string                                                                                         
<dd>A hex-encoded string value.                                                                     
                                                                                                   
</dl>                                                                                               
===Usage Notes===                                                                                   
*As in all '''''Janus SOAP''''' system methods with string outputs, the ''%out'' string variable provides [[Longstrings|longstring]] behavior. This adds 28 bytes of VTBL usage to every X constant, however.                   
*Although its utility is dubious, the following is valid and sets %x to ''''X'01''''':             
    %x = 'f0f1':x:x                                                                                 
*The X function requires a method object string with an even number of bytes.                       
===Example===                                                                                       
                                                                                                   
The following statement would display ''''1234'''':                                                 
    [[Intrinsic classes#printtext|printText]] {'f1f2f3f4':x}


===See also===
<var>X</var> treats each input character as an input hex digit.
[[List of Intrinsic String Methods]]


[[Category:Intrinsic String methods|X function]]
==Syntax==
[[Category:Intrinsic methods]]
{{Template:String:X syntax}}
[[Category:System methods]]
 
===Syntax terms===
<table class="syntaxTable">
<tr><th>%outString</th>
<td>A string variable to receive the unencoded value of the method object <var class="term">string</var>.</td></tr>
 
<tr><th>string</th>
<td>A hex-encoded string value.</td></tr>
</table>
 
==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.
 
<li>Although its utility is dubious, the following is valid and sets <code>%x</code> to <code>x'01'</code>:
<p class="code">%x = 'f0f1':x:x
</p>
 
<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|Sirius Mods]]</var> Version 7.3.
</ul>
 
==Example==
The following statement would display <code>1234</code>:
<p class="code">[[PrintText statement|printText]] {'f1f2f3f4':X}
</p>
 
==See also==
{{Template:String:X footer}}

Latest revision as of 23:19, 5 November 2012

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}

See also