在下面的例子中评估fn-main时,我希望在fn-main块的开头附加some-fn代码,以便在评估之前进行扩展。
tab2.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
if(e.getClickCount()==2) {
new EditData(params);
tab2.setValueAt(newData, location, location);
}
}
});
目前,对fn-main的评估会导致以下错误:
#+NAME: some-fn
#+BEGIN_SRC C
void printother() {
printf("WOrld");
}
#+END_SRC
#+NAME: fn-main
#+BEGIN_SRC C :noweb yes :main no :prologue "<<some-fn>>"
int main() {
printother();
printf("Hello");
}
#+END_SRC
执行前最终所需的扩展块:
/tmp/ccAuvLn1.o: In function `main':
C-src-5927aNL.c:(.text+0xa): undefined reference to `printother'
collect2: error: ld returned 1 exit status
/bin/bash: /tmp/babel-5927f7v/C-bin-5927nXR: No such file or directory
void printother() {
printf("WOrld");
}
int main() {
printother();
printf("Hello");
}
参数适用于整个块,这消除了一些块被纠缠和执行的可能性。它应该可以正常工作,但目前给我一个错误,:noweb eval
。
答案 0 :(得分:0)
这似乎有效:
#+NAME: some-fn
#+BEGIN_SRC C
void printother() {
printf("WOrld");
}
#+END_SRC
#+NAME: fn-main
#+BEGIN_SRC C :noweb yes
<<some-fn>>
int main() {
printother();
printf("Hello");
}
#+END_SRC
#+RESULTS: fn-main
: WOrldHello