我有很多R源文件.例如,在两个A.R和C.R文件中,B.R通过加载source().现在,我想使用的功能均A.R和C.R,我怎么能避免采购B.R反复?在C/C++中是否有类似的保护机制?
这与此问题有关:elisp用作参数和返回值
(defun avg-damp (n)
'(lambda(x) (/ n 2.0)))
Run Code Online (Sandbox Code Playgroud)
或
(funcall (avg-damp 6) 10)
Run Code Online (Sandbox Code Playgroud)
要么
((avg-damp 6) 10)
Run Code Online (Sandbox Code Playgroud)
他们给的错误Symbol's value as variable is void: n,并eval: Invalid function: (avg-damp 6)分别.
当我使用以下内容打开源代码文件时,我想根据编程语言运行一个函数.我必须将特定str于语言的foo函数传递给函数.如何在add-hook声明中做到这一点?
(defun foo (str)
(blahblah...))
(add-hook 'prog-mode-hook 'foo)
Run Code Online (Sandbox Code Playgroud) imenu为我工作emacs-lisp-mode-hook.但是当我为python或c ++模式尝试以下操作时,它不起作用:
(add-hook 'python-mode-hook
(lambda ()
(add-to-list
'imenu-generic-expression
'("Sections" "^#### [ \\(.+\\) ]$" 1))
(imenu-add-to-menubar "Position")))
(add-hook 'c++-mode-hook
(lambda ()
(add-to-list
'imenu-generic-expression
'("Sections" "^//// [ \\(.+\\) ]$" 1))
(imenu-add-to-menubar "Position")))
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么?
例如,我有一个矩阵:
> a = cbind(sample(c(0,1),6,replace=T), sample(c(0,1),6,replace=T))
> a
[,1] [,2]
[1,] 0 0
[2,] 0 0
[3,] 0 1
[4,] 1 0
[5,] 1 0
[6,] 1 1
Run Code Online (Sandbox Code Playgroud)
我想制作一个对象b,a这b是一个因素,每个级别代表 中的不同行a。在这种情况下,b将是:
> b
[1] 1 1 2 3 3 4
Levels: 1 2 3 4
Run Code Online (Sandbox Code Playgroud)
我可以用一种肮脏的方式来做,但我想知道是否有一个优雅的解决方案?
我对下面的Python行为感到困惑.为什么第二个和第三个实例(b,c) i的属性是类属性i但a行为不同?
In [47]: class Foo:
...: i=0
...:
In [48]: a = Foo()
In [49]: a.i = 1
In [50]: a.i
Out[50]: 1
In [51]: Foo.i
Out[51]: 0
In [52]: b = Foo()
In [53]: b.i
Out[53]: 0
In [54]: Foo.i is b.i
Out[54]: True
In [55]: Foo.i is a.i
Out[55]: False
In [56]: c = Foo()
In [57]: Foo.i is c.i
Out[57]: True
Run Code Online (Sandbox Code Playgroud)