5.2.4. شناسهها
یک شناسه (identifier) دنبالهای از کاراکترهای ASCII است که:
- با یک حرف (
a-z،A-Z) یا زیرخط (_) آغاز میشود - میتواند شامل هر تعداد از موارد زیر باشد:
- حروف (
a-z،A-Z) - ارقام (
0-9) - زیرخطها (
_) - آپاستروفها (
') - خط تیرهها (
-)
- حروف (
- جزو کلمات کلیدی نباشد
نحو (Syntax)
identifier ~
[A-Za-z_][A-Za-z0-9_'-]*
نامها
یک نام (name) میتواند به صورت یک شناسه یا یک رشتهی متنی صریح نوشته شود.
نحو (Syntax)
name → identifier | string
نامها در مجموعههای صفت، اتصالهای let و inherit استفاده میشوند.
دو نام زمانی با هم یکسان هستند که نمایانگر دنبالهٔ یکسانی از کاراکترها باشند، صرفنظر از اینکه به صورت شناسه یا رشته نوشته شده باشند.
کلمات کلیدی
این کلمات کلیدی رزرو شدهاند و نمیتوانند به عنوان شناسه استفاده شوند:
نکته
ارزیاب زبان Nix در حال حاضر به دلایل سازگاری با نسخههای قبلی، اجازه میدهد از
orبه عنوان یک نام در برخی از زمینهها استفاده شود. به کاربران توصیه میشود که به این ویژگی اتکا نکنند.مشکلات دیرینهای در نحوهی تجزیه (parsing) کلمهی
orبه عنوان یک نام وجود دارد که بدون ایجاد تغییر ناسازگار (breaking change) در زبان، قابل حل نیستند.