我有两个包,每个包含相同的符号:
(make-package "package1")
(make-package "package2")
(intern "SYMBOL" (find-package "PACKAGE1"))
(intern "SYMBOL" (find-package "PACKAGE2"))
我想比较一下。我需要能够写出这样的s表达式:
(package-agnostic-eq 'package1::symbol 'package2::symbol) ; => t
这样做最优雅,最简单的方法是什么?
特别是我对内置运算符很感兴趣。以下是我提出的功能:
(defun package-agnostic-eq (sym1 sym2)
(string= (symbol-name sym1) (symbol-name sym2)))
答案 0 :(得分:9)
private void Log(string line)
{
if (!File.Exists("EHWVB.log"))
File.Create("EHWVB.log").Close();
StreamWriter writer = new StreamWriter("EHWVB.log", true);
writer.WriteLine(DateTime.Now + " : " + line);
writer.Close();
}
/ STRING=
将string designators作为参数,而不仅仅是字符串。这意味着你也可以用它来比较符号名称。
STRING-EQUAL