This commit is contained in:
Juan Carlos
2020-11-14 15:31:59 -03:00
parent 1978b91202
commit d0dda9efab

View File

@@ -8,7 +8,7 @@ Nim Manual
.. contents::
"Complexity" seems to be a lot like "energy": you can transfer it from the
"Complexity" seems to be a lot like "energy": you can transfer it from the
end-user to one/some of the other players, but the total amount seems to remain
pretty much constant for a given task. -- Ran
@@ -313,6 +313,35 @@ it was not case-sensitive and underscores were ignored and there was not even a
distinction between ``foo`` and ``Foo``.
Stropping
---------
`Stropping <https://en.wikipedia.org/wiki/Stropping_(syntax)>`_
allows the same letter sequence to be used both as a keyword and as an identifier, and simplifies parsing.
For example, allowing a variable named `if` without clashing with the keyword `if`.
In Nim, this is achieved via backticks, allowing any reserved word to be used as an identifier.
Examples
.. code-block:: nim
var `var` = "Hello Stropping"
.. code-block:: nim
type Type = object
`int`: int
let `object` = Type(`int`: 9)
assert `object` is Type
assert `object`.`int` == 9
var `var` = 42
let `let` = 8
assert `var` + `let` == 50
const `assert` = true
assert `assert`
String literals
---------------