Difference between revisions of "String.format"

From GiderosMobile
Line 2: Line 2:
 
'''Available since:''' Gideros 2011.6<br/>
 
'''Available since:''' Gideros 2011.6<br/>
 
=== Description ===
 
=== Description ===
Returns a formatted version of its variable number of arguments following the description given in its first argument (which must be a string). The format string follows the same rules as the printf family of standard C functions. The only differences are that the options/modifiers *, l, L, n, p, and h are not supported and that there is an extra option, q. The q option formats a string in a form suitable to be safely read back by the Lua interpreter: the string is written between double quotes, and all double quotes, newlines, embedded zeros, and backslashes in the string are correctly escaped when written. For instance, the call  
+
<translate>Returns a formatted version of its variable number of arguments following the description given in its first argument (which must be a string). The format string follows the same rules as the printf family of standard C functions. The only differences are that the options/modifiers *, l, L, n, p, and h are not supported and that there is an extra option, q. The q option formats a string in a form suitable to be safely read back by the Lua interpreter: the string is written between double quotes, and all double quotes, newlines, embedded zeros, and backslashes in the string are correctly escaped when written. For instance, the call  
  
     `string.format('%q', 'a string with "quotes" and \n new line')`
+
     [[[string.format('%q', 'a string with "quotes" and \n new line')]]]
  
 
  will produce the string:  
 
  will produce the string:  
Line 15: Line 15:
  
  
  This function does not accept string values containing embedded zeros, except as arguments to the q option.
+
  This function does not accept string values containing embedded zeros, except as arguments to the q option.</translate>
 
<source lang="lua">
 
<source lang="lua">
 
  string.format(formatstring,e1,e2,...)
 
  string.format(formatstring,e1,e2,...)
 
</source>
 
</source>
 
=== Parameters ===
 
=== Parameters ===
'''formatstring''': (string) the string defining the format of the output <br/>
+
'''formatstring''': (string) <translate>the string defining the format of the output</translate> <br/>
'''e1''': (string) first parameter for the format string '''optional'''<br/>
+
'''e1''': (string) <translate>first parameter for the format string</translate> '''optional'''<br/>
'''e2''': (string) second parameter to format string '''optional'''<br/>
+
'''e2''': (string) <translate>second parameter to format string</translate> '''optional'''<br/>
'''...''': (multiple) more optional parameters for format string '''optional'''<br/>
+
'''...''': (multiple) <translate>more optional parameters for format string</translate> '''optional'''<br/>

Revision as of 14:32, 23 August 2018

Available since: Gideros 2011.6

Description

Returns a formatted version of its variable number of arguments following the description given in its first argument (which must be a string). The format string follows the same rules as the printf family of standard C functions. The only differences are that the options/modifiers *, l, L, n, p, and h are not supported and that there is an extra option, q. The q option formats a string in a form suitable to be safely read back by the Lua interpreter: the string is written between double quotes, and all double quotes, newlines, embedded zeros, and backslashes in the string are correctly escaped when written. For instance, the call

    [[[string.format('%q', 'a string with "quotes" and \n new line')]]]
will produce the string: 
    `"a string with \"quotes\" and \
     new line"`


The options c, d, E, e, f, g, G, i, o, u, X, and x all expect a number as argument, whereas q and s expect a string. 


This function does not accept string values containing embedded zeros, except as arguments to the q option.
 string.format(formatstring,e1,e2,...)

Parameters

formatstring: (string) the string defining the format of the output
e1: (string) first parameter for the format string optional
e2: (string) second parameter to format string optional
...: (multiple) more optional parameters for format string optional