如何解决如何将双引号符号转换为字符串
我知道如何将符号转换为字符串:public bool Delete(string Id)
{
try
{
var a = Get(Id);
if (a == null)
{
return false;
}
dbContext.SystemMessage.Remove(a);
dbContext.SaveChanges();
return true;
}
catch (Exception e)
{
logger.LogError(e,"Failed to delete System Message" + " - " + e.Message);
return false;
}
}
或 (symbol-name 'hello)
返回 (string 'hello)
。如果符号被引用两次怎么办?例如:"Hello"
。 ''hello
导致错误。在 SBCL 中,错误消息是:(string ''hello)
。如何将 'HELLO is not a string designator.
转换为 ''hello
?
解决方法
只需在 REPL 中检查数据的样子即可。 *
是绑定到最后一个评估结果的变量。
CL-USER 1 > 'hello
HELLO
CL-USER 2 > (string *)
"HELLO"
CL-USER 3 > ''hello
(QUOTE HELLO)
CL-USER 4 > (string (second *))
"HELLO"
,
由于 ''hello
等价于 (quote (quote hello))
,您可以:
CL-USER> (string (cadr ''hello))
"HELLO"
您还可以使用 eval
来评估外部 quote
:
CL-USER> (string (eval ''hello))
"HELLO"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。