我找不到可下载版本的Clojure参考手册(最好是PDF).有没有人知道我可以下载的地方?
是否有可能在CL中追踪一个闭包?例如,我可以追踪下面的foo-3吗?
(defun foo (n)
(lambda (i) (incf n i)))
FOO
(setf foo-3 (foo 3))
#<CLOSURE :LAMBDA (I) (INCF N I)>
(funcall foo-3 2)
5
(funcall foo-3 2)
7
(trace ???)
Run Code Online (Sandbox Code Playgroud) 这是我的代码 -
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.core.classloader.annotations.*;
import static org.powermock.api.support.SuppressCode.*;
class BaseService {
public int save() {
validate();
return 2;
}
public static int save2() {
return 5;
}
public void validate() {
System.out.println("base service save executing...");
}
}
class ChildService extends BaseService {
public int save() {
System.out.println("child service save executing...");
int x = super.save2();
int y = super.save();
System.out.println("super.save returned " + y);
load();
return 1 + x;
}
public void load() {
System.out.println("child service …Run Code Online (Sandbox Code Playgroud) 我无法理解为什么这个简单的语法 -
grammar Test;
file : ID;
ID : .*;
Run Code Online (Sandbox Code Playgroud)
导致此错误 -
Test.g:3:6: The following alternatives can never be matched: 1
Run Code Online (Sandbox Code Playgroud)
为什么会这样?