无法将变量传递给安全哈希
Can't pass variable to secure-hash
为什么在第二次调用时使用变量时安全哈希会失败? Emacs 27.1、27.2 和 26.3
(setq mytext "test")
(message (secure-hash 'sha256' mytext))
(message (secure-hash 'sha256' "test"))
您在 mytext
之前有一个额外的 quote '
,它阻止了对 mytext
变量的计算。
以下工作正常:
(let ((mytext "test"))
(secure-hash 'sha256 mytext))
==> "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
(secure-hash 'sha256 "test")
==> "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
PS。如果您是 Lisp 的新手并且这不仅仅是一个打字错误,那么阅读 “Emacs 编程简介”将会使您受益匪浅
Lisp。
最好的方法是在 Emacs 中:C-h i m intro TAB RET.
为什么在第二次调用时使用变量时安全哈希会失败? Emacs 27.1、27.2 和 26.3
(setq mytext "test")
(message (secure-hash 'sha256' mytext))
(message (secure-hash 'sha256' "test"))
您在 mytext
之前有一个额外的 quote '
,它阻止了对 mytext
变量的计算。
以下工作正常:
(let ((mytext "test"))
(secure-hash 'sha256 mytext))
==> "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
(secure-hash 'sha256 "test")
==> "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
PS。如果您是 Lisp 的新手并且这不仅仅是一个打字错误,那么阅读 “Emacs 编程简介”将会使您受益匪浅 Lisp。 最好的方法是在 Emacs 中:C-h i m intro TAB RET.