即使在阅读了 Nix 手册之后,仍然对 Nix 表达式的真正含义感到困惑。有时它们被称为派生,但存储派生也有其他含义。
在尼克斯,一个尼克斯表达只是您可以用 Nix 语言编写的任何类型值的通用术语。 Nix 表达式可以是集合、列表、数字、字符串、函数、名称、算术运算、函数调用等等。
Nix 表达式可以包含其他 Nix 表达式:例如,表达式1 + 2
里面包含两个表达式:1
and 2
.
人们通常喜欢编写复杂的 Nix 表达式来表示如何构建一个软件。这些表达式实际上只是具有一些特殊属性的集合。 Nix 软件可以计算这样的表达式并将其转换为.drv
文件(一种描述如何构建某些软件的非常简单、紧凑的方式),然后可以构建该文件。
您可以使用 Nix 语言和 Nix 表达式做很多不涉及派生或构建软件的事情。这nix eval
命令允许您计算 Nix 表达式。跑步nix eval --help
查看其帮助屏幕,或运行以下命令来计算一些简单的表达式:
nix eval '(1 + 2)' # gives 3
nix eval '({ a = 1; b = 2; }.a)' # gives 1
(出于某种原因,此命令似乎要求在其计算的大多数 Nix 表达式周围添加括号,但这似乎是一个错误或奇怪的设计选择,并且括号并不是每个 Nix 表达式的重要组成部分。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)