mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-04 14:11:02 +03:00
GDScript: Document raw string literals
This commit is contained in:
@@ -340,29 +340,33 @@ The following is the list of supported operators and their precedence.
|
||||
Literals
|
||||
~~~~~~~~
|
||||
|
||||
+--------------------------+-------------------------------------------+
|
||||
| **Literal** | **Type** |
|
||||
+--------------------------+-------------------------------------------+
|
||||
| ``45`` | Base 10 integer |
|
||||
+--------------------------+-------------------------------------------+
|
||||
| ``0x8f51`` | Base 16 (hexadecimal) integer |
|
||||
+--------------------------+-------------------------------------------+
|
||||
| ``0b101010`` | Base 2 (binary) integer |
|
||||
+--------------------------+-------------------------------------------+
|
||||
| ``3.14``, ``58.1e-10`` | Floating-point number (real) |
|
||||
+--------------------------+-------------------------------------------+
|
||||
| ``"Hello"``, ``'Hi'`` | Strings |
|
||||
+--------------------------+-------------------------------------------+
|
||||
| ``"""Hello"""`` | Multiline string |
|
||||
+--------------------------+-------------------------------------------+
|
||||
| ``&"name"`` | :ref:`StringName <class_StringName>` |
|
||||
+--------------------------+-------------------------------------------+
|
||||
| ``^"Node/Label"`` | :ref:`NodePath <class_NodePath>` |
|
||||
+--------------------------+-------------------------------------------+
|
||||
| ``$NodePath`` | Shorthand for ``get_node("NodePath")`` |
|
||||
+--------------------------+-------------------------------------------+
|
||||
| ``%UniqueNode`` | Shorthand for ``get_node("%UniqueNode")`` |
|
||||
+--------------------------+-------------------------------------------+
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| **Literal** | **Type** |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``45`` | Base 10 integer |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``0x8f51`` | Base 16 (hexadecimal) integer |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``0b101010`` | Base 2 (binary) integer |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``3.14``, ``58.1e-10`` | Floating-point number (real) |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``"Hello"``, ``'Hi'`` | Regular strings |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``"""Hello"""``, ``'''Hi'''`` | Triple-quoted regular strings |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``r"Hello"``, ``r'Hi'`` | Raw strings |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``r"""Hello"""``, ``r'''Hi'''`` | Triple-quoted raw strings |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``&"name"`` | :ref:`StringName <class_StringName>` |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``^"Node/Label"`` | :ref:`NodePath <class_NodePath>` |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``$NodePath`` | Shorthand for ``get_node("NodePath")`` |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
| ``%UniqueNode`` | Shorthand for ``get_node("%UniqueNode")`` |
|
||||
+---------------------------------+-------------------------------------------+
|
||||
|
||||
Integers and floats can have their numbers separated with ``_`` to make them more readable.
|
||||
The following ways to write numbers are all valid::
|
||||
@@ -372,6 +376,63 @@ The following ways to write numbers are all valid::
|
||||
0x8080_0000_ffff # Equal to 0x80800000ffff.
|
||||
0b11_00_11_00 # Equal to 0b11001100.
|
||||
|
||||
**Regular string literals** can contain the following escape sequences:
|
||||
|
||||
+---------------------+---------------------------------+
|
||||
| **Escape sequence** | **Expands to** |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\n`` | Newline (line feed) |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\t`` | Horizontal tab character |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\r`` | Carriage return |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\a`` | Alert (beep/bell) |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\b`` | Backspace |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\f`` | Formfeed page break |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\v`` | Vertical tab character |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\"`` | Double quote |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\'`` | Single quote |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\\`` | Backslash |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\uXXXX`` | UTF-16 Unicode codepoint |
|
||||
| | ``XXXX`` |
|
||||
| | (hexadecimal, case-insensitive) |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\UXXXXXX`` | UTF-32 Unicode codepoint |
|
||||
| | ``XXXXXX`` |
|
||||
| | (hexadecimal, case-insensitive) |
|
||||
+---------------------+---------------------------------+
|
||||
|
||||
There are two ways to represent an escaped Unicode character above ``0xFFFF``:
|
||||
|
||||
- as a `UTF-16 surrogate pair <https://en.wikipedia.org/wiki/UTF-16#Code_points_from_U+010000_to_U+10FFFF>`_ ``\uXXXX\uXXXX``.
|
||||
- as a single UTF-32 codepoint ``\UXXXXXX``.
|
||||
|
||||
Also, using ``\`` followed by a newline inside a string will allow you to continue it in the next line,
|
||||
without inserting a newline character in the string itself.
|
||||
|
||||
A string enclosed in quotes of one type (for example ``"``) can contain quotes of another type
|
||||
(for example ``'``) without escaping. Triple-quoted strings allow you to avoid escaping up to
|
||||
two consecutive quotes of the same type (unless they are adjacent to the string edges).
|
||||
|
||||
**Raw string literals** always encode the string as it appears in the source code.
|
||||
This is especially useful for regular expressions. Raw strings do not process escape sequences,
|
||||
but you can "escape" a quote or backslash (they replace themselves).
|
||||
|
||||
::
|
||||
|
||||
print("\tchar=\"\\t\"") # Prints ` char="\t"`.
|
||||
print(r"\tchar=\"\\t\"") # Prints `\tchar=\"\\t\"`.
|
||||
|
||||
GDScript also supports :ref:`format strings <doc_gdscript_printf>`.
|
||||
|
||||
Annotations
|
||||
~~~~~~~~~~~
|
||||
|
||||
@@ -535,49 +596,6 @@ Note: Currently, data structures such as ``Vector2``, ``Vector3``, and
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
A sequence of characters in `Unicode format <https://en.wikipedia.org/wiki/Unicode>`_.
|
||||
String literals can contain the following escape sequences:
|
||||
|
||||
+---------------------+---------------------------------+
|
||||
| **Escape sequence** | **Expands to** |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\n`` | Newline (line feed) |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\t`` | Horizontal tab character |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\r`` | Carriage return |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\a`` | Alert (beep/bell) |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\b`` | Backspace |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\f`` | Formfeed page break |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\v`` | Vertical tab character |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\"`` | Double quote |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\'`` | Single quote |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\\`` | Backslash |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\uXXXX`` | UTF-16 Unicode codepoint |
|
||||
| | ``XXXX`` |
|
||||
| | (hexadecimal, case-insensitive) |
|
||||
+---------------------+---------------------------------+
|
||||
| ``\UXXXXXX`` | UTF-32 Unicode codepoint |
|
||||
| | ``XXXXXX`` |
|
||||
| | (hexadecimal, case-insensitive) |
|
||||
+---------------------+---------------------------------+
|
||||
|
||||
There are two ways to represent an escaped Unicode character above 0xFFFF:
|
||||
|
||||
- as a `UTF-16 surrogate pair <https://en.wikipedia.org/wiki/UTF-16#Code_points_from_U+010000_to_U+10FFFF>`_ ``\uXXXX\uXXXX``.
|
||||
- as a single UTF-32 codepoint ``\UXXXXXX``.
|
||||
|
||||
Also, using ``\`` followed by a newline inside a string will allow you to continue it in the next line, without
|
||||
inserting a newline character in the string itself.
|
||||
|
||||
GDScript also supports :ref:`format strings <doc_gdscript_printf>`.
|
||||
|
||||
:ref:`StringName <class_StringName>`
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Reference in New Issue
Block a user