Mapcar缺点或我的已知
你好众所周知,mapcad函数的语法如下:
(mapcar function list1... listn)
我的问题可以通过以下两个例子来解释:
(mapcar 'strcase '("a" "B" "c" "D"))
returns: ("A" "B" "C" "D")
(mapcar 'strcase '("a" "B" "c" "D") '(T T T T))
returns: ("a" "b" "c" "d")
是否有任何方法可以将重复的对象(这里T作为socond参数)传递给mapcar一次?
*如果*您知道将使用T(True)作为所提供的有效字符串列表中每一项的Strcase函数的Which参数,那么使用Lambda应该可以做到这一点。
例子:
(mapcar
(function
(lambda (str / string)
(setq string (strcase str T))))
'("a" "B" "c" "D"))
很好的一个RenderMan-非常感谢:)。 代码可以更短:
(mapcar
(function
(lambda (str)
(strcase str T)))
'("a" "B" "c" "D"))
再次感谢RenderMan Mapcar在处理长度未知的列表时是理想的;如果需要为每个项提供其他常量参数,可以使用lambda函数(或用户定义的子函数),如图所示。
也许你已经阅读了本教程,该页面底部的链接也是一本不错的读物。
欢迎光临。 谢谢李,
你是个很好的老师。
页:
[1]