小编Fal*_*lko的帖子

莱宁根:警告反思.仅限当前项目

如果我在Leiningen(Ver.2)中切换:warn-on-reflection,我不仅会对当前项目发出警告,还会对依赖项发出警告.(并且,例如即使我称之为"lein help",它也会例如警告关于clucy的反思 - leiningen本身的依赖.)

由于这些项目超出了我目前的范围,我希望有可能仅将警告限制在当前项目中.这有可能,怎么样?

clojure leiningen

8
推荐指数
1
解决办法
931
查看次数

持久收集垃圾收集?

如果我持有对持久集合的一部分的引用,整个集合是否可以被垃圾收集?我能正确理解吗?

函数gctest只是测试集合的行为.

(defn gctest
  "A shot about testing the gc-ability of persistent thingies."
  [n]
  (take 5 (drop 100 (vec (range n)))))

main=> (def a (gctest 1e7))
main=> (def b (gctest 1e7))
main=> (def c (gctest 1e7))
main=> (def d (gctest 1e7))
main=> (def e (gctest 1e7))
main=> (def f (gctest 1e7))
main=> (def g (gctest 1e7))

OutOfMemoryError GC overhead limit exceeded  clojure.lang.ArrayChunk.dropFirst     (ArrayChunk.java:54)
Run Code Online (Sandbox Code Playgroud)

我已经听说过头部保留,但这看起来有点笼统或者不是吗?

我想要了解的是如何使用大变化的收藏.我希望收藏品的大部分内容会随着时间的推移而发生变化,原则上大部分可以被垃圾收集,但不是全部.

有没有一种标准的方法来应对这种情况?

clojure

8
推荐指数
1
解决办法
1250
查看次数

Emacs Org-Mode和Literate Haskell

在组织模式中,以冒号开头的行被格式化为源代码.(http://orgmode.org/manual/Literal-examples.html)

在有文化的Haskell中,源代码行以更大的符号开头.

我想用org-mode markdown编写有文化的Haskell,这是我目前的首选格式.

我假设我无法更改Haskell编译器,我的问题是:

在org模式下,我可以以某种方式使代码行标记更大吗?(我试图自己找到它,但是因为org.el是一个865k文件,22k loc,我还是迷路了.)

emacs haskell org-mode

8
推荐指数
3
解决办法
1724
查看次数

Emacs Lisp,如何映射宏,并评估其中一个参数

Bob Glickstein 在“编写 GNU Emacs 扩展”的第 3 章中描述了一种建议滚动功能的方法。(他建议让它们可逆,所以我们必须在滚动之前保存状态。)

例如,对于向上滚动命令,此建议是这样完成的

(defadvice scroll-up-command (before reversibilate activate compile)
   "If it wants to be reversible, it must save the former state."
   (save-before-scroll))
Run Code Online (Sandbox Code Playgroud)

好。我当然必须对所有滚动命令执行此操作。所以我想对它们进行排序,并想一起为它们提供建议。

(setq reversible-scroll-commands 
  [scroll-up-command 
   scroll-down-command 
   scroll-left-command 
   scroll-right-command])
Run Code Online (Sandbox Code Playgroud)

(我使用一个向量来保存 5 个引号。)

但现在我被困住了。

(mapcar 
  (lambda (fun-name)
    (defadvice fun-name (before reversibilate activate compile)
       "If it wants to be reversible, it must save the former state."
       (save-before-scroll)))
   reversible-scroll-commands)
Run Code Online (Sandbox Code Playgroud)

将建议(不存在的)函数 fun-name 四次,因为 defadvice 是一个宏,并且不评估 fun-name。

有什么办法吗?

(我正在使用 Emacs 24)

emacs elisp defadvice advising-functions

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

正则表达式,组和量词

我刚刚在http://regexcrossword.com/上做了有趣的正则表达式填字游戏- 并且发现我不明白量化群体意味着什么,例如(.)+或(.)*

让我试试http://ole.michelsen.dk/tools/regex.html,它提供了JavaScript和PHP正则表达式引擎:

要匹配的字符串是"Trololo!" (不带引号).(如果打开"全局匹配"改变了某些东西,它会被添加为引导版本,即JS',因为它在PHP模式下没有任何改变.)

JS,  (.)+ => 0: Trololo! 1: ! 
JS', (.)+ => 0: Trololo! 
PHP, (.)+ => 0: Trololo! 0: ! 
JS,  (.)* => 0: Trololo! 1: ! 
JS', (.)* => 0: Trololo! 
PHP, (.)* => 0: Trololo! 1: 0: ! 1: 
JS,  (.){5} => 0: Trolo 1: o 
JS', (.){5} => 0: Trolo 
PHP, (.){5} => 0: Trolo 0: o 
JS,  (.){4} => 0: Trol 1: l 
JS', (.){4} => 0: Trol …
Run Code Online (Sandbox Code Playgroud)

javascript php regex regex-group quantifiers

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

Clojure,我希望Long乘法溢出

我想做64位算术(不是自然数),所以我需要两个long的乘法来静默地溢出.

(unchecked-multiply Long/MAX_VALUE 3)
Run Code Online (Sandbox Code Playgroud)

诀窍.但

(def n Long/MAX_VALUE)
(unchecked-multiply n 3)
Run Code Online (Sandbox Code Playgroud)

给出溢出异常.我究竟做错了什么?

(Clojure 1.5.1)

clojure integer-overflow

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

"这个Emacs会议有客户" - 我怎么找出原因?

Cx Cc Emacs时不时会宣布"这个Emacs会话有客户端;无论如何退出?".

(我在Windows 7上使用Emacs 24beta,以防万一.)

我希望打开一些通过emacsclientw.exe打开的文件 - 但我没有看到任何文件.

(我有git config --global core.editor"/c/lang/emacs-24beta/bin/emacsclientw.exe")

有没有办法找出哪些缓冲区有客户端?(或者还有什么可以寻找的吗?)

emacs

3
推荐指数
1
解决办法
502
查看次数

Debian - "测试"的sources.list - 要改变什么?

我想使用Debian的测试分发(目前那是"wheezy"而不是稳定的"挤压"),我即将调整我的/etc/apt/sources.list文件.

我知道我必须替换主要条目的wheezy挤压.

但我是否必须为安全性(挤压/更新)和更新(挤压更新)这样做?

debian

3
推荐指数
1
解决办法
1万
查看次数

Scala:自我类型注释

(试图通过探测边界来理解自我类型的使用.)

这不能被实例化(D和String是类,但必须混合其中一个.加上String是final.).但它还有其他用途吗?

class D { 
    foo: String => 
    def f2 = foo.substring(1) 
}
Run Code Online (Sandbox Code Playgroud)

更新:对不起,我似乎不善于提问.我想知道的是这个奇怪的特殊情况是否有意义.D类永远无法实例化的情况,如1.我不能混合使用String,因为它不是tarit.2.我不能混合D,因为.. 3.我不能扩展String,因为它是最终的.

scala self-type

0
推荐指数
1
解决办法
3780
查看次数