提问人:Tim 提问时间:11/12/2023 更新时间:11/12/2023 访问量:35
这两种方法在覆盖函数时是一样的吗?
Are these two ways the same for overriding a function?
问:
https://nixos.org/guides/nix-pills/override-design-pattern#id1431 提供了一种覆盖函数的方法:f
rec {
makeOverridable = f: origArgs:
let
origRes = f origArgs;
in
origRes // { override = newArgs: makeOverridable f (origArgs // newArgs); };
}
是不是和:
rec {
makeOverridable = f: origArgs:
let
origRes = f origArgs;
in
origRes // { override = makeOverridable (newArgs: f (origArgs // newArgs)); };
}
?
特别是,是
newArgs: makeOverridable f (origArgs // newArgs)
和
makeOverridable (newArgs: f (origArgs // newArgs))
一样?
它们和
makeOverridable (makeOverridable f)
?
答: 暂无答案
评论