str: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Add date to Sbsmac's comment)
m (Text replacement - "\|s([0-9])\= '''([^' ]+)'''([^ ]+) " to "|s$1= $2$3 ")
(42 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma |= Game name
|game1= arma1
|version1= 1.00


|1.00|= Game version
|game2= arma2
____________________________________________________________________________________________
|version2= 1.00


| Converts any value into a string by placing " and " around the argument. Since Arma 3 v1.63.137891 this command will correctly escape all " inside a string:
|game3= arma2oa
|version3= 1.50


<code>// Before the fix:
|game4= tkoh
[[hint]] [[str]] "string "" string"; // "string " string" <- invalid string
|version4= 1.00
[[call]] [[compile]] [[str]] "string "" string"; // ERROR
 
// After the fix:
|game5= arma3
[[hint]] [[str]] "string "" string"; // "string "" string" <- valid string
|version5= 0.50
[[call]] [[compile]] [[str]] "string "" string"; // OK
 
|gr1= Strings
 
|descr= Converts any value into a string by placing " and " around the argument. When used on object, object debug name is returned.<br><br>Since Arma 3 v1.64 this command will correctly escape all " inside a string:
 
<code>{{cc|Before the fix:}}
[[hint]] [[str]] "string "" string"; {{cc|"string " string" <- invalid string}}
[[call]] [[compile]] [[str]] "string "" string"; {{cc|ERROR}}</code>
 
<code>{{cc|After the fix:}}
[[hint]] [[str]] "string "" string"; {{cc|"string "" string" <- valid string}}
[[call]] [[compile]] [[str]] "string "" string"; {{cc|OK}}
</code>
</code>


When used on object, object debug name is returned. |= Description
|s1= [[str]] value
____________________________________________________________________________________________
 
| '''str''' value |= Syntax


|p1= value: [[Anything]] |= Parameter 1
|p1= value: [[Anything]]


| [[String]] |= Return value
|r1= [[String]]
____________________________________________________________________________________________
 
|x1= <code>_s = [[str]] (2 + 3);</code>


The value of ''_s'' is the string "5" |= Example 1
|x1= <code>_s = [[str]] (2 + 3);{{cc|The value of ''_s'' is the string "5"}}</code>


|x2= <code>a = [];
|x2= <code>a = [];
ac = 0;
ac = 0;
[[while]] {ac < 5} [[do]] {
[[while]] {ac < 5} [[do]]
{
ac = [[count]] a;
ac = [[count]] a;
a [[set]] [ac, [[format]] ["Index %1", ac]];
a [[set]] [ac, [[format]] ["Index %1", ac]];
};
};
[[hintSilent]] [[str]] a;</code>
[[hintSilent]] [[str]] a;{{cc|Hints all of ''["Index 0","Index 1","Index 2","Index 3","Index 4"]'' including brackets, quotes and commas}}</code>


Hints all of ''["Index 0","Index 1","Index 2","Index 3","Index 4"]'' including brackets, quotes and commas. |= Example 1
|seealso= [[toArray]], [[toString]], [[isText]], [[select]], [[count]], [[find]], [[endl]], [[format]], [[formatText]]
____________________________________________________________________________________________
}}


| [[toArray]], [[toString]], [[isText]], [[select]], [[count]], [[find]], [[endl]], [[format]], [[formatText]] |= See also


}}
<dl class="command_description">
<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands|STR]]
[[Category:Scripting Commands ArmA|STR]]
[[Category:Command_Group:_Variables|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]


<!-- CONTINUE Notes -->
<dt></dt>
<dl class="command_description">
<dd class="notedate">Posted on September 29, 2009 - 20:17 (UTC)</dd>
<dd class="notedate">Posted on September 29, 2009 - 20:17 (UTC)</dd>
<dt class="note">[[User:Sbsmac|Sbsmac]]</dt>
<dt class="note">[[User:Sbsmac|Sbsmac]]</dt>
Line 60: Line 58:
When applied to a unit, this returns the variable name that was assigned to the unit in the editor.  For example, if you have created a playable unit with the name 'thePlayer' then you can use 'str player' to return "thePlayer";
When applied to a unit, this returns the variable name that was assigned to the unit in the editor.  For example, if you have created a playable unit with the name 'thePlayer' then you can use 'str player' to return "thePlayer";
</dd>
</dd>
</dl>
 
<dl class="command_description">
<dt></dt>
<dd class="notedate">Posted on December 5, 2014 - 20:21 (UTC)</dd>
<dd class="notedate">Posted on December 5, 2014 - 20:21 (UTC)</dd>
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
Line 67: Line 65:
If you try to [[count]] string, the added quotations marks are valid characters and will be counted.
If you try to [[count]] string, the added quotations marks are valid characters and will be counted.
</dd>
</dd>
<dt><dt>
<dd class="notedate">Posted on July 15, 2017 - 09:59 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">If you want to make empty string with [[str]] that doesn't have any quotation marks, but is still a [[String]] you can use [[text]]:
<code>[[str]] ""; // ""
[[count]] [[str]] ""; // 2
[[str]] [[text]] ""; //
[[count]] [[str]] [[text]] ""; // 0</code>
</dd>
<dt></dt>
<dd class="notedate">Posted on February 16, 2021 - 20:59 (UTC)</dd>
<dt class="note">[[User:R3vo|R3vo]]</dt>
<dd class="note">
Be careful when using [[str]] on arrays and you are used to putting a ''whitespace'' behind every comma:
<code>[[str]] [0, 0, 0] {{=}}{{=}} "[0, 0, 0]"; {{cc|false}}</code>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 18:13, 20 June 2021

Hover & click on the images for description

Description

Description:
Converts any value into a string by placing " and " around the argument. When used on object, object debug name is returned.

Since Arma 3 v1.64 this command will correctly escape all " inside a string: // Before the fix: hint str "string "" string"; // "string " string" <- invalid string call compile str "string "" string"; // ERROR // After the fix: hint str "string "" string"; // "string "" string" <- valid string call compile str "string "" string"; // OK
Groups:
Strings

Syntax

Syntax:
str value
Parameters:
value: Anything
Return Value:
String

Examples

Example 1:
_s = str (2 + 3);// The value of _s is the string "5"
Example 2:
a = []; ac = 0; while {ac < 5} do { ac = count a; a set [ac, format ["Index %1", ac]]; }; hintSilent str a;// Hints all of ["Index 0","Index 1","Index 2","Index 3","Index 4"] including brackets, quotes and commas

Additional Information

See also:
toArraytoStringisTextselectcountfindendlformatformatText

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note


Posted on September 29, 2009 - 20:17 (UTC)
Sbsmac
When applied to a unit, this returns the variable name that was assigned to the unit in the editor. For example, if you have created a playable unit with the name 'thePlayer' then you can use 'str player' to return "thePlayer";
Posted on December 5, 2014 - 20:21 (UTC)
DreadedEntity
If you try to count string, the added quotations marks are valid characters and will be counted.
Posted on July 15, 2017 - 09:59 (UTC)
Killzone Kid
If you want to make empty string with str that doesn't have any quotation marks, but is still a String you can use text: str ""; // "" count str ""; // 2 str text ""; // count str text ""; // 0
Posted on February 16, 2021 - 20:59 (UTC)
R3vo
Be careful when using str on arrays and you are used to putting a whitespace behind every comma: str [0, 0, 0] == "[0, 0, 0]"; // false