我想fill-column在Clojure模式下将Emacs 设置为120,但是保留默认值(80).
我怎么能在我的.emacs文件中这样做?
谢谢.
我正在关注clojure.spec的指南(http://clojure.org/guides/spec).我被之间的区别感到困惑alt,并or进行序列规范.
对我来说,以下两个例子同样有效.那两者之间的区别是什么?
; Use `alt`
(s/def ::config (s/* (s/cat :prop string?
:val (s/alt :s string? :b boolean?))))
(s/explain ::config ["-server" "foo" "-verbose" true "-user" 13])
; Use `or`
(s/def ::config (s/* (s/cat :prop string?
:val (s/or :s string? :b boolean?))))
(s/explain ::config ["-server" "foo" "-verbose" true "-user" 13])
Run Code Online (Sandbox Code Playgroud) 我确定有一些带有perl,ruby,bash的简单单线程,无论是什么让我在循环中运行命令,直到我在stdout中观察到一些字符串,然后停止.理想情况下,我也想捕获stdout,但如果要进入控制台,这可能就足够了.
目前所讨论的特定环境是RedHat Linux,但有时在Mac上也需要同样的东西.所以,通用和*nixy是最好的.不关心Windows - 大概是一个*nixy的东西可以在cygwin下工作.
更新:请注意,通过"观察一些字符串"我的意思是"stdout包含一些字符串"而不是"stdout IS some string".
Clojure向我介绍了Lisp语法的概念,我很感兴趣,但是让Clojure repl设置并在不同的机器上使用它是一件痛苦的事.还有哪些其他资源可用于实际动态测试和使用Lisp语法?
我想象的东西就像一个网站,你可以输入基本的代码,或浏览器插件,甚至只是一个独立的应用程序,引导你通过Lisp(在Linux/Ubuntu上运行的东西).
无法找到类似的东西以简单/可访问的方式启动我.
我一直在学习各种函数式语言,包括Haskell,Scala和Clojure.Haskell有一个非常严格且定义良好的静态类型系统.Scala也是静态类型的.另一方面,Clojure是动态类型的.
所以我的问题是
type-systems programming-languages functional-programming clojure
public class CovariantTest {
public A getObj() {
return new A();
}
public static void main(String[] args) {
CovariantTest c = new SubCovariantTest();
System.out.println(c.getObj().x);
}
}
class SubCovariantTest extends CovariantTest {
public B getObj() {
return new B();
}
}
class A {
int x = 5;
}
class B extends A {
int x = 6;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码在编译和运行时打印5.它使用过度返回方法的协变返回.
为什么它会打印5而不是6,因为它在SubCovariantTest类中执行overRidden方法getObj.
有人可以对此有所了解.谢谢.
我使用Maven 3创建一个新的Scala项目.据我所知,使用Maven创建新项目的方法是:
mvn archetype:generate
Run Code Online (Sandbox Code Playgroud)
也许我错过了一些东西,但我找不到一个提供最简单的Scala项目的选项(例如lein new app ...Clojure 收到的那个).这里有什么帮助?
我正在尝试为旧框架实现一些单元测试.我试图模拟出数据库层.不幸的是,我们的框架有点陈旧,并没有完全采用最佳实践,因此没有明确的关注点分离.我有点担心试图模拟数据库层可能会使JVM加载大量甚至无法使用的类.
我不太了解类加载器,所以这可能不是问题.有没有办法在特定ClassLoader加载的所有类中达到峰值,以证明引擎盖下发生了什么?
如何在Clojure中创建一个持续运行的后台进程?使用"未来"的循环永远不会以正确的方式结束?
作为FOO,我可以将什么功能放在最后?我玩哈希集(只对前两个值正确),conj和concat,但我知道我没有正确处理单元素与设置条件中的任何一个.
(defn mergeMatches [propertyMapList]
"Take a list of maps and merges them combining values into a set"
(reduce #(merge-with FOO %1 %2) {} propertyMapList))
(def in
(list
{:a 1}
{:a 2}
{:a 3}
{:b 4}
{:b 5}
{:b 6} ))
(def out
{ :a #{ 1 2 3}
:b #{ 4 5 6} })
; this should return true
(= (mergeMatches in) out)
Run Code Online (Sandbox Code Playgroud)
处理这个问题最常用的方法是什么?
clojure ×7
java ×2
autofill ×1
bash ×1
classloader ×1
concurrency ×1
emacs ×1
jvm ×1
linux ×1
lisp ×1
maven ×1
maven-3 ×1
scala ×1
shell ×1
type-systems ×1
unit-testing ×1