我使用高阶函数将函数应用于向量中的每个元素,并将结果作为标量值返回.
假设我有:
v = c(0, 1, 2, 3, 4, 5, 6, 7, 8)
Run Code Online (Sandbox Code Playgroud)
我想计算左边5个整数的所有这些整数的总和:
对于i的SUM(i-5):
Reduce(function(i) sum(i-5), v, 0)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误: Error in f(init, x[[i]]) : unused argument(s) (x[[i]])
我的lambda函数出了什么问题?
谢谢!
在Python中,我试图弄清楚如何评估在程序中作为字符串给出的命令.例如,考虑内置的数学函数sin,cos和tan
假设我将这些功能作为列表给出;
li = ['sin', 'cos', 'tan']
Run Code Online (Sandbox Code Playgroud)
现在,我想迭代列表中的每个元素并将每个函数应用于数字参数:
x = 45
for func in li:
func(x)
Run Code Online (Sandbox Code Playgroud)
上面显然不会起作用,因为func是一个字符串,只是显示了这个想法.在lisp中,我可以使每个函数成为带引号的符号,然后与上面的内容进行类似的评估(当然,在lisp语法中,但是这个想法是相同的).
这是如何在python中完成的?
谢谢,如果您需要更多信息,请告诉我们!
我知道Common Lisp REPL提供的强大功能.我特意使用SBCL实现.但是,我不确定我的REPL设置是否正确,并且想知道如何从REPL中获得更多功能.
例如,我想找到计算机2 ^ 3 = 8的幂函数.这被称为pow或power许多其他语言.所以我做了:
CL-USER> (apropos 'pow)
POW
POWER
:OP-POWER-EXT (bound)
:POWERPC (bound)
SB-IMPL::*INTEGER-READER-BASE-POWER* (bound)
SB-IMPL::*POWER-CACHE* (bound)
SB-IMPL::+POWER-CACHE-INTEGER-LENGTH-LIMIT+ (bound)
SB-IMPL::COMPUTE-POWERS
SB-IMPL::POWER
SB-IMPL::POWERS-FOR-BASE (fbound)
SB-INT:POWER-OF-TWO-CEILING (fbound)
SB-KERNEL:%POW (fbound)
SB-KERNEL::POWER
SB-KERNEL:SCRUB-POWER-CACHE (fbound)
; No value
Run Code Online (Sandbox Code Playgroud)
我如何查看任何这些功能的文档?在查看文档之前,我是否必须"导入"这些"库"?通常我发现文档丢失了,因为REPL将返回nil.文档在哪里?比如我做了:
CL-USER> (documentation 'power 'function)
Run Code Online (Sandbox Code Playgroud)
它刚刚返回,NIL但正如你从上面给出的列表中看到的那样apropos,power存在!
总结:
SB-IMPL和SB-KERNEL已导入的库?感谢您的帮助!
我希望重载+运算符来处理常见的lisp向量 - 正如它对线性代数中的向量一样.是否有可能与+操作员一起超载?
这是我的预期定义:
(defmethod + ((v1 vector) (v2 vector))
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!
我经常truth-list喜欢以下内容'(nil nil nil t nil t nil nil nil),我想打个电话(reduce #'or truth-list)
但是,这不起作用,我发现这or是一个宏.有没有一种快速简便的方法可以让它像功能一样工作?我一直在做的是传递:(lambda (p q) (or p q))作为我的功能,但由于我遇到过这么多次,我打赌有更好的方法.
感谢您的帮助!
在GNU中,Makfiles可以在宏定义之前有前导空格吗?以及允许的空格类型(制表符,换行符,空格......)
谢谢!
我有一组图像,其中每个图像需要能够旋转到90度,180度和270度.所有这些图像都是Texture2D类型.有内置的功能来完成这个吗?或者我应该加载每张图像的其他旋转图像?或者有更好的方法来完成这项任务吗?
我收到以下警告:
expected ‘float **’ but argument is of type ‘float (*)[6]’
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
//state and error are output parameters
void func(float* state[6], float* err[6][6]);
int main()
{
float state[6];
float err[6][6];
func(&state, &err);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我希望state和err是ouptut参数,因此state应该是指向数组的指针,而err应该是指向2维数组的指针.
如何使用 WMI 查询语言在目录中查找文件?
这是我到目前为止:
select * from Cim_DataFile
where path = "\\\\C:\\Users\\name\\"
Run Code Online (Sandbox Code Playgroud)
查询不返回任何结果。
任何帮助深表感谢。
通过命令行运行程序时,如何更改布尔宏的值?例如,假设我的cpp文件中包含以下宏,则将其命名为MyCpp.cpp
#define DEBUG 1
Run Code Online (Sandbox Code Playgroud)
运行程序时如何更改此设置?通过命令行:
g++ -Wall -Wextra -o MyCpp MyCpp.cpp
Run Code Online (Sandbox Code Playgroud)
我很确定您指定了某种命令行选项,这会响起钟声吗?另外,我不想使用argv[]
common-lisp ×3
c ×2
arrays ×1
c# ×1
c++ ×1
command-line ×1
debugging ×1
evaluation ×1
fold ×1
gnu ×1
lambda ×1
makefile ×1
overriding ×1
parameters ×1
pointers ×1
python ×1
r ×1
rotation ×1
sbcl ×1
space ×1
symbols ×1
texture2d ×1
whitespace ×1
wmi ×1
wmi-query ×1
wql ×1
xna ×1