Nix言語
#Nix
Nix language basics — nix.dev documentation
§1. Nix言語の基本|Nix入門: ハンズオン編
Attribute Set
https://nix.dev/manual/nix/2.28/language/syntax#attrs-literal
辞書型の set
inherit
日本語で「継承する」
Functions
https://nix.dev/tutorials/nix-language.html#functions
Also known as “@ pattern”, “@ syntax”, or “‘at’ syntax”.
code:nix-repl.nix
nix-repl> let f={a,b,...}: a+b; in f {a=1;b=2;}
3
nix-repl> let f={a,b,...}: a+b; in f {a=2;b=2;}
4
nix-repl> let f={a,b,...}: a+b; in f {a=2;b=2;c=1}
error: syntax error, unexpected '}', expecting ';'
at «string»:1:40:
1| let f={a,b,...}: a+b; in f {a=2;b=2;c=1}
| ^
nix-repl> let f={a,b,...}: a+b; in f {a=2;b=2;c=1;}
4
nix-repl> let f={a,b,...}:@args a+b+args.c; in f {a=2;b=2;c=1;}
error: syntax error, unexpected '@'
at «string»:1:17:
1| let f={a,b,...}:@args a+b+args.c; in f {a=2;b=2;c=1;}
| ^
nix-repl> let f={a,b,...}@args: a+b+args.c; in f {a=2;b=2;c=1;}
5