Implicit concatenation: Difference between revisions

From m204wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
Line 10: Line 10:
<p class="code">%foo = "'" %nal(%x + 1) "'"</p>
<p class="code">%foo = "'" %nal(%x + 1) "'"</p>


The [[At sign (@) on right side of assignment|at sign (@)]] will also be implicitly concatenated if not preceded by an operator. For example, the follow concatenates a "==>" to the current contents of <code>%string</code> and assigns it to <code>%string</code>:
The [[At sign (@) on right side of assignment|at sign (@)]] will also be implicitly concatenated if not preceded by an operator. For example, the following concatenates a "==>" to the current contents of <code>%string</code> and assigns it to <code>%string</code>:
<p class="code">%string = '==>' @</p>  
<p class="code">%string = '==>' @</p>  



Latest revision as of 22:55, 12 February 2026

This feature is new in version 7.9 of the Sirius Mods.

Implicit concatenation eliminates the need to precede User Language variables (including methods chained off a variable) and literals with the operator With to indicate concatenation. For example, the following statement sets %foo to the contents of %test enclosed within parentheses:

%foo = "(" %test ")"

And the following statement sets %foo to the reversed, right-most 4 characters of %test enclosed within parentheses:

%foo = "(" %test:right(4):reverse ")"

If %nal is a Named Arraylist of String, implicit concatenation lets you assign to %foo value of item %x +1 embedded inside single quotes:

%foo = "'" %nal(%x + 1) "'"

The at sign (@) will also be implicitly concatenated if not preceded by an operator. For example, the following concatenates a "==>" to the current contents of %string and assigns it to %string:

%string = '==>' @

In Sirius Mods 8.1 and later, the results of a $function will also be implicitly concatenated with the preceding expression results:

%message = "The problem happened at " $time " on " $date "."

With is still required before field names:

%foo = '>>' with FIELD NAME

And With is still required before expressions in parentheses:

%foo = '>>' with (%x + 2)