Difference between revisions of "str"

From Bohemia Interactive Community
Jump to navigation Jump to search
m
 
m (Some wiki formatting)
 
(104 intermediate revisions by 15 users not shown)
Line 1: Line 1:
[[Category:Scripting Commands|STR]]
+
{{RV|type=command
[[Category:Scripting Commands ArmA|STR]]
 
  
 +
|game1= arma1
 +
|version1= 1.00
  
<h2 style="color:#000066">'''strr ''any value'''''</h2>
+
|game2= arma2
 +
|version2= 1.00
  
 +
|game3= arma2oa
 +
|version3= 1.50
  
'''Operand types:'''
+
|game4= tkoh
 +
|version4= 1.00
  
'''any value''' [[Anything]]
+
|game5= arma3
 +
|version5= 0.50
  
'''Type of returned value:'''
+
|gr1= Strings
  
[[String]]
+
|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:
  
'''Compatibility'''
+
<sqf>
 +
// Before the fix:
 +
hint str "string "" string"; // "string " string" <- invalid string
 +
call compile str "string "" string"; // ERROR
 +
</sqf>
  
Version 2.00 required.
+
<sqf>
 +
// After the fix:
 +
hint str "string "" string"; // "string "" string" <- valid string
 +
call compile str "string "" string"; // OK
 +
</sqf>
  
'''Description:'''
+
|s1= [[str]] value
  
Converts any variable to a string.
+
|p1= value: [[Anything]]
  
 +
|r1= [[String]]
  
'''Example:'''
+
|x1= <sqf>_s = str (5 + 2); // The value of _s is the string "7"</sqf>
  
'''str'''(2+3) , result is "5"
+
|x2= <sqf>
 +
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
 +
</sqf>
 +
 
 +
|seealso= [[toArray]] [[toString]] [[isText]] [[select]] [[count]] [[find]] [[endl]] [[format]] [[formatText]]
 +
}}
 +
 
 +
 
 +
<dl class="command_description">
 +
 
 +
<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>
 +
 
 +
<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]]:
 +
<sqf>str ""; // ""
 +
count str ""; // 2
 +
str text ""; //
 +
count str text ""; // 0</sqf>
 +
</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:
 +
<sqf>str [0, 0, 0] == "[0, 0, 0]"; // false</sqf>
 +
</dd>
 +
 
 +
</dl>

Latest revision as of 14:59, 22 May 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.

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 (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

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


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