标识符 & 关键字
Nim中的标识符可以是任何以字母开头的数字、字母和下划线。不允许两个连续的下划线 __ :
- letter ::= 'A'..'Z' | 'a'..'z' | '\x80'..'\xff'
- digit ::= '0'..'9'
- IDENTIFIER ::= letter ( ['_'] (letter | digit) )*
目前,序数值> 127(非ASCII)的任何Unicode字符都被归类为 字母 ,因此可能是标识符的一部分,但该语言的后续版本可能会指定某些Unicode字符来代替运算符字符。
下面预留的关键字不能用作标识符:
- addr and as asm
- bind block break
- case cast concept const continue converter
- defer discard distinct div do
- elif else end enum except export
- finally for from func
- if import in include interface is isnot iterator
- let
- macro method mixin mod
- nil not notin
- object of or out
- proc ptr
- raise ref return
- shl shr static
- template try tuple type
- using
- var
- when while
- xor
- yield
有些关键字未使用;它们是为语言的未来发展而保留的。