在通过介绍性的Lisp书的主要部分之后,我仍然无法理解特殊运算符(quote)
(或等效的'
)函数的作用,但这已经是我见过的所有Lisp代码.
它有什么作用?
如何在已被引号包围的sed表达式中转义单引号?
例如:
sed 's/ones/one's/' <<< 'ones thing'
Run Code Online (Sandbox Code Playgroud) 我在自己教学计划的第1小时1.不用说,我什么都不懂.所以我正在阅读The Little Schemer并使用这个东西:
作为翻译.
我需要使用'
例如
(atom? 'turkey)
Run Code Online (Sandbox Code Playgroud)
避免"未定义的变量"错误.的'
,根据这本书,是Common Lisp的事情.
我有两个问题:
我上面提到的翻译是好的吗?你能推荐另一个吗?我需要一个能与The Little Schemer合作的人.
什么是'
?
我需要按顺序放置两个blockquotes,但markdown将它们组合成一个blockquote.我可以让它们分开的唯一方法是在它们之间放置一些垃圾文本.由于这个文本字段允许我使用Markdown,我可以证明:
> First Quote
> Second Quote
Run Code Online (Sandbox Code Playgroud)
结果是:
第一次报价
第二次报价
使用垃圾文本时:
> First Quote
.
> Second Quote
Run Code Online (Sandbox Code Playgroud)
结果是:
第一次报价
.
第二次报价
我不能使用HTML标签或HTML实体.只有Markdown.
我需要在JavaScript函数参数中转义单引号以避免这种情况:
onclick="Javascript:INSERT_PRODUCT('188267','WILL AND GRACE','32311','L'ANNIVERSARIO DINOZZE ','20101113|04|18|','13/11/2010 0.00.00','CANALE 5 ',this);"
Run Code Online (Sandbox Code Playgroud)
但我需要在函数调用中转义它们,因为我不知道将传递的值(db变量我无法从数据库中转义).
是否有一个功能允许我做以下的事情?
onclick="Javascript:function(escape(param1), escape(param2), escape(param3));"
Run Code Online (Sandbox Code Playgroud) 嗨我看到不同的方式是否履行到了大量blockquote
的HTML,但它似乎并没有明确的说明文件中我应该如何正确地格式化blockquote
比方说,一个名言和求佛它的作者,如:
在胜利中,你应该得到香槟,在失败中,你需要它.
拿破仑·波拿巴
HTML5中的正确格式是什么?
作者应该在blockquote
标签内还是外?它应该在cite
属性中吗?(即使知道文档指定了URI,也不知道作者)
我从来没有真正想过一个符号是否可以成为Lisp中的数字,所以我今天玩弄了它:
> '1
1
> (+ '1 '1)
2
> (+ '1 1)
2
> (define a '1)
> (+ a 1)
2
Run Code Online (Sandbox Code Playgroud)
上面的代码是scheme,但它在Common Lisp和Clojure中看起来大致相同. 是否有1,并引述1之间有什么区别?
我知道你可以使用'
(aka quote
)创建一个列表,我一直都在使用它,如下所示:
> (car '(1 2 3))
1
Run Code Online (Sandbox Code Playgroud)
但它并不总是像我期望的那样工作.例如,我试图创建一个函数列表,像这样,但它不起作用:
> (define math-fns '(+ - * /))
> (map (lambda (fn) (fn 1)) math-fns)
application: not a procedure;
expected a procedure that can be applied to arguments
given: '+
Run Code Online (Sandbox Code Playgroud)
当我使用时list
,它的工作原理:
> (define math-fns (list + - * /))
> (map (lambda (fn) (fn 1)) math-fns)
'(1 -1 1 1)
Run Code Online (Sandbox Code Playgroud)
为什么?我认为'
这只是一个方便的速记,为什么行为不同?
从阅读关于Lisp的介绍材料,我现在认为以下内容是相同的:
(list 1 2 3)
'(1 2 3)
Run Code Online (Sandbox Code Playgroud)
但是,从我在Clojure和Emacs Lisp中使用引用形式时遇到的问题来看,它们并不相同.你能告诉我有什么区别吗?
几年前,我使用标签在我的网站上创建一个引号(带有大引号).
现在我想做同样的事情,但它不再起作用了.我得到的唯一的东西是小"而不是大的".
如何让旧的,大的?
谢谢!