小编vem*_*emv的帖子

如何强制书签只运行一次?

我的bookmarklet包含对插入的"启动器"脚本的调用body.在运行时,它以类似的方式插入更多脚本(jQuery,实际应用程序)和CSS.

小书签

javascript:(function(){
    var l = document.createElement('script');
    l.setAttribute('type','text/javascript');
    l.setAttribute('src','launcher.js');
    document.body.appendChild(l);
})();
Run Code Online (Sandbox Code Playgroud)

Launcher.js

var s = document.createElement('script');
s.setAttribute('type','text/javascript');
s.setAttribute('src','my actual script');
document.body.appendChild(s);

// I repeat a block like this once per script/css.
Run Code Online (Sandbox Code Playgroud)

问题是如果单击两次书签,将再次插入所有脚本.我该如何防止这种行为?

javascript bookmarklet

7
推荐指数
1
解决办法
570
查看次数

在Clojure中编写累加器函数

我想知道如何编写Nerds文章复仇中包含的累加器示例.很容易理解它是如何工作的,但是我无法在Clojure中重新创建它 - 它不会累积但只返回i的总和和n的初始给定值.

关键是incf(在Common Lisp版本中)或+ =(在JavaScript中).

换句话说:如何改变引用函数的状态?我已经看到了一些关于变量变量的例子,但它们看起来并不精确吗?

clojure paul-graham

7
推荐指数
1
解决办法
1795
查看次数

无法向SLIME发送有趣的字符

虽然我在任何地方都设置了UTF-8(在我的lein项目中,slime-lisp组自定义,Emacs缓冲区本身......),我在尝试运行代码时不断收到此错误(def beta "?"):

Coding system iso-latin-1-unix not suitable [...]
Run Code Online (Sandbox Code Playgroud)

例如,仅在Emacs中发生,而不是在lein repl从命令行运行时发生.

可能是什么原因造成的?我正在使用Ubuntu,如果这有任何区别.

unicode emacs clojure slime swank-clojure

7
推荐指数
1
解决办法
279
查看次数

可以监控STM的争用级别吗?

有没有办法来评估Clojure的STM交易是否正在重试,以及以什么速度进行?

clojure stm

7
推荐指数
1
解决办法
239
查看次数

(Ctrl +向上/向下)在Emacs中滚动样式

我不是指平滑滚动,而是将光标保持在一个固定点,并且总是一次移动一个'screenful',一行一行(在Eclipse或其他IDE中)按ctrl +向上/向下.

然后,当按下平原上/下时,屏幕会在必要时跳转以确保光标的可见性.

不知道怎么叫.

它是否已在Emacs中实施?

emacs scroll

6
推荐指数
2
解决办法
1989
查看次数

重复的有限程度如何?

据我所知,Clojure recur是由编译器支持的,而在其他lisps中它是在较低级别实现的.

在我读到的时候,这不是一般的"TCO".除了显而易见的(需要一个关键字+检查),它在recur哪些方面不那么强大?

recursion clojure tail-call-optimization

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

一打开HTML标签就关闭它们

每当我打开一个HTML标签时,我都希望自动插入相应的关闭HTML标签.

所以,如果我输入

<div>
Run Code Online (Sandbox Code Playgroud)

我应该得到

<div></div>
Run Code Online (Sandbox Code Playgroud)

无需打电话给sgml-close-tag自己.

怎么做到这一点?

emacs html-mode sgml-mode

5
推荐指数
2
解决办法
686
查看次数

在emacs中运行lynx文本Web浏览器

Lynx是一款非常酷的文本浏览器.如何从emacs启动它?

我目前的做法是Mx shell,那么lynx.但它提示我我的终端类型(我不知道 - 我在GNOME上使用终端和GUI Emacs).默认选项使输出几乎不可读.

emacs lynx

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

获取杀戮戒指的内容

所以我把一些东西复制到戒指上:

(car kill-ring) ; #("foo" 0 4 (fontified t))
Run Code Online (Sandbox Code Playgroud)

那我该如何得到这个文本属性的主要内容,即字符串"foo"

emacs elisp

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

为什么不让*默认让?

正如所有经验丰富的elispers在某些时候发现的那样,代码就像破了:

(let ((a 3)
      (b 4)
      (c (+ a b)))
  c)
Run Code Online (Sandbox Code Playgroud)

let*当引用绑定子句中的刚绑定变量时,应该使用表单.

我只是想知道 - 为什么看似错误的行为是默认的?let*无论人们如何使用它,总是有选择的风险吗?

lisp emacs elisp

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