在 repl 中的 Nix 中急切地打印

nic*_*las 4 nixos nix

文档flake-utils有以下示例作为文档

eachSystem [ system.x86_64-linux ] (system: { hello = 42; })
# => { hello = { x86_64-linux = 42; }; }
eachSystem allSystems (system: { hello = 42; })
# => {
   hello.aarch64-darwin = 42,
   hello.aarch64-genode = 42,
   hello.aarch64-linux = 42,
   ...
   hello.x86_64-redox = 42,
   hello.x86_64-solaris = 42,
   hello.x86_64-windows = 42
}
Run Code Online (Sandbox Code Playgroud)

据我所知,必须

> nix repl
nix-repl> e = builtins.getFlake("github:numtide/flake-utils")
nix-repl> with e.outputs.lib;
          eachSystem [ system.x86_64-linux ] (system: { hello = 42; })
Run Code Online (Sandbox Code Playgroud)

获取结果值(也可以执行:a e.outputs.lib“将结果集中的属性添加到范围”而不使用该with ..;行)

{ hello = { ... }; }
Run Code Online (Sandbox Code Playgroud)

有没有办法“热切打印”该值?

Bla*_*ans 5

您正在寻找的是:p

> { a = 3; b = [ 1 2 3 ]; }
{ a = 3; b = [ ... ]; }
> :p { a = 3; b = [ 1 2 3 ]; }
{ a = 3; b = [ 1 2 3 ]; }
>
Run Code Online (Sandbox Code Playgroud)