Difference between revisions of "str"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " " to " ")
m (Some wiki formatting)
 
(37 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
|game1= arma1
 
|game1= arma1
 
|version1= 1.00
 
|version1= 1.00
 +
 +
|game2= arma2
 +
|version2= 1.00
 +
 +
|game3= arma2oa
 +
|version3= 1.50
 +
 +
|game4= tkoh
 +
|version4= 1.00
 +
 +
|game5= arma3
 +
|version5= 0.50
  
 
|gr1= Strings
 
|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:
+
|descr= Converts any value into a string by placing " and " around the argument. When used on object, object debug name is returned.
  
<code>{{cc|Before the fix:}}
+
|pr= Before {{arma3}} v1.64 this command didn't escape quote signs {{hl|"}} inside a string properly.
[[hint]] [[str]] "string "" string"; {{cc|"string " string" <- invalid string}}
 
[[call]] [[compile]] [[str]] "string "" string"; {{cc|ERROR}}</code>
 
  
<code>{{cc|After the fix:}}
+
|s1= [[str]] value
[[hint]] [[str]] "string "" string"; {{cc|"string "" string" <- valid string}}
 
[[call]] [[compile]] [[str]] "string "" string"; {{cc|OK}}
 
</code>
 
 
 
|s1= '''str''' value
 
  
 
|p1= value: [[Anything]]
 
|p1= value: [[Anything]]
Line 23: Line 28:
 
|r1= [[String]]
 
|r1= [[String]]
  
|x1= <code>_s = [[str]] (2 + 3);{{cc|The value of ''_s'' is the string "5"}}</code>
+
|x1= <sqf>_s = str (5 + 2); // The value of _s is the string "7"</sqf>
  
|x2= <code>a = [];
+
|x2= <sqf>
 +
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;{{cc|Hints all of ''["Index 0","Index 1","Index 2","Index 3","Index 4"]'' including brackets, quotes and commas}}</code>
+
hintSilent str a; // hints all of ["Index 0","Index 1","Index 2","Index 3","Index 4"] including brackets, quotes and commas
 +
</sqf>
  
|seealso= [[toArray]], [[toString]], [[isText]], [[select]], [[count]], [[find]], [[endl]], [[format]], [[formatText]]
+
|x3= <sqf>
}}
+
str [0, 0, 0] == "[0, 0, 0]"; // false
 +
str [0, 0, 0] == "[0,0,0]"; // true
 +
 
 +
str ""; // """"""
 +
count str ""; // 2
 +
str text ""; // ""
 +
count str text ""; // 0
 +
</sqf>
  
{{GameCategory|arma2|Scripting Commands}}
+
|x4= <sqf>
{{GameCategory|arma3|Scripting Commands}}
+
str objNull; // "<NULL-object>"
{{GameCategory|tkoh|Scripting Commands}}
+
str player; // e.g "B Alpha 1-1:1 (PlayerName)"
 +
player setVehicleVarName "PlayerUnit";
 +
str player; // e.g "PlayerUnit"
 +
</sqf>
  
<dl class="command_description">
+
|seealso= [[toArray]] [[toString]] [[isText]] [[select]] [[count]] [[find]] [[endl]] [[format]] [[formatText]]
<dt></dt>
+
}}
<dd class="notedate">Posted on September 29, 2009 - 20:17 (UTC)</dd>
 
<dt class="note">[[User:Sbsmac|Sbsmac]]</dt>
 
<dd class="note">
 
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>
 
</dl>
 
<dl class="command_description">
 
<dt></dt>
 
<dd class="notedate">Posted on December 5, 2014 - 20:21 (UTC)</dd>
 
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
 
<dd class="note">
 
If you try to [[count]] string, the added quotations marks are valid characters and will be counted.
 
</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>
 
</dl>
 
  
<dl class="command_description">
+
{{Note
<dt></dt>
+
|user= Sbsmac
<dd class="notedate">Posted on February 16, 2021 - 20:59 (UTC)</dd>
+
|timestamp= 20090929201700
<dt class="note">[[User:R3vo|R3vo]]</dt>
+
|text= When applied to a unit, this returns the variable name that was assigned to the unit in the editor (see also [[vehicleVarName]]).
<dd class="note">
+
For example, if you have created a playable unit with the name 'thePlayer' then you can use 'str player' to return "thePlayer".
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>
 

Latest revision as of 16:04, 26 August 2022

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.
Problems:
Before Arma 3 v1.64 this command didn't escape quote signs " inside a string properly.
Groups:
Strings

Syntax

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

Examples

Example 1:
_s = str (5 + 2); // The value of _s is the string "7"
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
Example 3:
str [0, 0, 0] == "[0, 0, 0]"; // false str [0, 0, 0] == "[0,0,0]"; // true str ""; // """""" count str ""; // 2 str text ""; // "" count str text ""; // 0
Example 4:
str objNull; // "<NULL-object>" str player; // e.g "B Alpha 1-1:1 (PlayerName)" player setVehicleVarName "PlayerUnit"; str player; // e.g "PlayerUnit"

Additional Information

See also:
toArray toString isText select count find endl format formatText

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
Sbsmac
Posted on Sep 29, 2009 - 20:17 (UTC)
When applied to a unit, this returns the variable name that was assigned to the unit in the editor (see also vehicleVarName). For example, if you have created a playable unit with the name 'thePlayer' then you can use 'str player' to return "thePlayer".