小编aga*_*gam的帖子

似乎无法在 NixOS 下使用 sudo

标题(虽然很尴尬)已经说明了一切。首先一些背景:

我在 Vultr 上使用自定义 ISO 运行 NixOS。

尝试的时间范围:

  • which sudo显示没有 sudo
  • 安装sudo使用nix-env -i sudo
  • 然后,当我尝试时sudo ...,我看到sudo: /home/agam/.nix-profile/bin/sudo must be owned by uid 0 and have the setuid bit set
  • sudo su由于同样的原因不起作用
  • 好的,我卸载了(nix-env --uninstall sudo
  • 我想嗯,也许我应该以 root 身份安装它?
  • 所以,su然后重复安装
  • 现在,当我尝试时sudo ...,我看到了sudo: /nix/var/nix/profiles/default/bin/sudo must be owned by uid 0 and have the setuid bit set (所以与以前相同的错误,具有不同的路径)
  • 作为最后的手段,尝试使用锤子,感谢 NixOS 阻止了我:
[root@nixos:/home/agam]# chmod 4755 /nix/var/nix/profiles/default/bin/sudo
chmod: changing permissions of …
Run Code Online (Sandbox Code Playgroud)

nixos

5
推荐指数
1
解决办法
3005
查看次数

如何改进此Haskell函数以评估RPN表达式?

这是我想出的:

solveRPNWrapper :: (Read a, Integral a) => String -> a
solveRPNWrapper str = solveRPN [] $ words str

calcFunction :: String -> String -> String -> String
calcFunction "+" x y = show $ read x + read y
calcFunction "-" x y = show $ read x - read y
calcFunction "*" x y = show $ read x * read y
calcFunction "/" x y = show $ read x / read y
calcFunction op x y …
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming

4
推荐指数
3
解决办法
407
查看次数

如何查找哪个类在 Pharo 中实现了一个方法?

这里的新手,正在阅读“Pharo by Example”。这本书提到了EllipseMorph new openInWorld一个调用 result的例子Morph openInWorldEllipseMorph defaultColor而是一个被覆盖的消息:我如何使用系统浏览器或其他东西来解决这个问题?

通常的find 方法方式只在立即选择的类中查找匹配项。通常是否可以查找哪个类将响应(例如)Foo bar

更新:感谢所有建议(Finder、Spotter);调试器是我见过的最令人大开眼界的工具!

smalltalk pharo

4
推荐指数
2
解决办法
467
查看次数

Aida Web安装抱怨缺少“ SecureHashAlgorithm”

(您好,Smalltalk新手;我不时与Pharo一起玩,并认为我会尝试其中一种Web框架)

我安装了Aida Web,当我尝试加载Swazoo Server时,在WebSecurityManager类中某处出现异常,该类抱怨SecureHashAlgorithm该类不可用。

一些谷歌搜索提示它可能存在于System-Digital Signatures软件包中,但我在Monticello浏览器中找不到它。

有什么线索吗?

smalltalk pharo

4
推荐指数
1
解决办法
64
查看次数

如何为Haskell的集合构建器表示法指定类型?

具体来说,我想做这样的事情:

myfunc:: [(Integer, Integer)]
myfunc = [(x^2 - y^2, 2 * x * y) | x <- [1..], y <- [1.. (x-1)]]
Run Code Online (Sandbox Code Playgroud)

当我尝试加载这个时,ghci我得到了

    Warning: Defaulting the following constraint(s) to type `Integer'
         `Integral t' arising from a use of `^' at myfunc.hs:76:20-22
Run Code Online (Sandbox Code Playgroud)

所以我知道x应该显然是一个Integer,我怎么继续让Haskell知道那就是我想要的?

haskell list

3
推荐指数
1
解决办法
899
查看次数

为什么这个合法(球拍)计划?

我正在经历htdp并在一开始就找到了这个: -

解释为什么以下句子是非法定义:1.(define(f'x)x)

但是,它在球拍中工作正常:

> (define (f 'x) x)
> (f 'a)
3
> (define a 5)
> (f a)
3
Run Code Online (Sandbox Code Playgroud)

显然,我错过了什么......到底是什么?

syntax scheme racket

3
推荐指数
1
解决办法
349
查看次数

在Clojure的Alter vs Commute:我做错了什么?

Clojure新手在这里,我正在通过优秀的"从头开始的Clojure"帖子,并尝试了这篇文章中的最后一个练习.

当我替换altercommute,总和是不准确的,但我不明白为什么.

(def work (ref (apply list (range 1e5))))
(def sum (ref 0))

(defn trans-alter [work sum]
  (dosync
   (if-let [n (first @work)]
     (do
       (alter work rest)
       (alter sum + n)
       (count @work))
     0)))

(defn trans-commute [work sum]
  (dosync
   (if-let [n (first @work)]
     (do
       (commute work rest)
       (commute sum + n)
       (count @work))
     0)))
Run Code Online (Sandbox Code Playgroud)

(我已经跳过设置期货的代码并调用它们等)

trans-alter这里,我得到4999950000了总和(这是正确的预期值),而trans-commute每次我得到一个不同的值,但高于预期(例如4999998211).

我在这里错过了什么?提前致谢!

transactions clojure

3
推荐指数
1
解决办法
178
查看次数

用于添加依赖项的 Stack.yaml 与 package.yaml

可能是一个愚蠢的问题:

Stack 文档提到添加package.yaml依赖项的正确位置,但我在项目目录中看到的只是一个stack.yaml文件;那么这个地方合适吗?

(我看到一个现有的问题询问这两个文件之间的冗余,但我什至根本没有看到该package.yaml文件!)

如果有帮助:

$ stack --version
Version 1.9.3, Git revision 40cf7b37526b86d1676da82167ea8758a854953b (6211 commits) x86_64 hpack-0.31.1
Run Code Online (Sandbox Code Playgroud)

haskell haskell-stack

3
推荐指数
1
解决办法
1943
查看次数

如何在Clojure中获得精确的大数算术结果?

(这可能是一个愚蠢的问题,但......)

在Common Lisp中,我可以做类似的事情

CL-USER> (expt 2 63)
9223372036854775808
Run Code Online (Sandbox Code Playgroud)

我为Clojure尝试了一些替代方案:

user> (Math/pow 2 63)
9.223372036854776E18
Run Code Online (Sandbox Code Playgroud)

显然,胁迫int不起作用:

user> (int (Math/pow 2 63))
IllegalArgumentException Value out of range for int: 9.223372036854776E18  clojure.lang.RT.intCast (RT.java:1211)
Run Code Online (Sandbox Code Playgroud)

所以我试着强迫bigint:

user> (bigint (Math/pow 2 63))
9223372036854776000N
Run Code Online (Sandbox Code Playgroud)

......但那也没有用.

获得与上述相同结果的推荐方法是什么?(谢谢!)

clojure common-lisp

2
推荐指数
1
解决办法
145
查看次数

Clojure 相当于“演员”

我最近一直在研究 Elixir 和 Akka,这让我思考:Clojure 中的等价物是什么?

  • 我发现了一些关于代理与演员的“消息吞吐量比较”帖子,但它们来自 8 年前
  • 一个答案使用agents......但是这不是一样的东西(代理人似乎并不有其自身的逻辑,它们是由外部代码“采取行动”)
  • 另一个最近的答案是Pulsar 纤维(更接近,但......仍然保持?)

(我清楚,这可能是我“问错了问题在这里”,希望这是不是太开放式)

clojure agent pulsar actor akka

2
推荐指数
1
解决办法
1286
查看次数